Part Number Hot Search : 
225025 MC149571 94HFB10W 2SK1600 L74VHC1G 225025 LTC12 01502
Product Description
Full Text Search
 

To Download COM90C66 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  1 COM90C66 data sheet with erratas for rev. b and rev. d devices arcnet controller/transceiver with at interface and on-chip ram features arcnet lan controller/transceiver/ support logic/dual-port ram integrates smsc com90c65 with 16-bit data bus, dual-port ram, and enhanced diagnostics circuitry includes ibm pc/at bus interface circuitry supports 8- and 16-bit data buses full 2k x 8 on-chip dual-port buffer ram zero wait state arbitration for most at buses smsc com90c26 software compatible command chaining enhances performance supports memory mapped and sequential i/o mapped access to the internal ram buffer compatible with the smsc hyc9058/68/ 88 (coax and twisted pair drivers) token passing protocol with self reconfiguration detection variable data length packets 16 bits crc check/generation includes address decoding circuitry for on- chip ram, prom and i/o supports up to 255 nodes contains software accessible node id register compatible with various topologies (star, tree, bus, ...) on-board crystal oscillator and reset circuitry low power cmos, single +5v supply general description the smsc COM90C66 is a special purpose communications controller for interconnecting processors and intelligent peripherals using the arcnet local area network. the COM90C66 is unique in that it integrates the core arcnet logic found in standard microsystems' original com90c26 and com90c32 with an on-chip 2k x 8 ram, as well as the 16-bit data bus interface for the ibm pc/at. because of the inclusion of the ram buffer in the COM90C66, a complete arcnet node can be implemented with only one or two additional ics (8- or 16-bit applications, respectively) and a media driver circuit. the arcnet core remains functionally untouched, eliminating validation and compatibility concerns. the enhancements exist in the integration and the performance of the device. maximum integration has been achieved by including the 2k x 8 ram buffer on the chip, providing the immediate benefits of a lower device pin count and less board components. the performance is enhanced in four ways : a 16-bit data bus for operation with the ibm pc/at; a zero wait state arbitration mechanism, due partly to the integration of the ram buffer on- chip; the ability of the device to do consecutive transmissions and receptions via the command chaining operation; and improved diagnostics, allowing the user to control the system more efficiently. for most at compatibles, the device handles zero wait state transfers. arcnet is a registered trademark of datapoint corporation ibm, at, pc/at and micro channel are registered trademarks of international business machines corporation
2 table of contents features ................................ ................................ ................................ ................................ ................................ ........ 1 general description ................................ ................................ ................................ ................................ ................ 1 pin configuration ................................ ................................ ................................ ................................ ...................... 3 description of pin functions ................................ ................................ ................................ ............................... 4 protocol description ................................ ................................ ................................ ................................ ............. 9 network protocol ................................ ................................ ................................ ................................ ........... 9 network reconfiguration ................................ ................................ ................................ ........................... 9 broadcast messages ................................ ................................ ................................ ................................ ..... 10 extended timeout function ................................ ................................ ................................ ........................ 10 line protocol ................................ ................................ ................................ ................................ .................... 10 system description ................................ ................................ ................................ ................................ .................. 12 microprocessor interface ................................ ................................ ................................ ......................... 12 transmission media interface ................................ ................................ ................................ .................... 13 functional description ................................ ................................ ................................ ................................ ......... 13 microse quencer ................................ ................................ ................................ ................................ ............... 13 address decoding ................................ ................................ ................................ ................................ ............ 19 internal registers ................................ ................................ ................................ ................................ .......... 22 internal ram ................................ ................................ ................................ ................................ ....................... 29 software interface ................................ ................................ ................................ ................................ ........ 29 software compatibility considerations ................................ ................................ .............................. 31 command chaining ................................ ................................ ................................ ................................ ............ 32 reset details ................................ ................................ ................................ ................................ ...................... 34 read and write cycles ................................ ................................ ................................ ................................ ... 35 node id logic ................................ ................................ ................................ ................................ ....................... 43 transmit/receive logic ................................ ................................ ................................ ................................ .. 43 improved diagnostics ................................ ................................ ................................ ................................ ..... 43 oscillator ................................ ................................ ................................ ................................ ........................... 45 operational description ................................ ................................ ................................ ................................ ...... 46 maximum guaranteed ratings ................................ ................................ ................................ ..................... 46 dc characteristics ................................ ................................ ................................ ................................ .......... 46 timing diagrams ................................ ................................ ................................ ................................ ......................... 49 please see addendum 1 entitled data sheet errata for revision b COM90C66 , which discusses changes to this data sheet which apply to the revision b device, on page 62. please see addendum 2 entitled data sheet errata for revision d COM90C66 , which discusses changes to this data sheet which apply to the revision d device, on page 64. 80 arkay drive hauppauge, ny 11788 (516) 435-6000 fax (516) 273-3123
3 for other machines, the iochrdy signal may be briefly negated to give the device the extra time necessary to support the faster machines. aside from the implementation of a 16-bit data bus interface, the remaining bus interface logic is identical to that found in the smsc com90c65, which contains all the support logic circuitry. the arcnet local area network is a token passing network which operates at a 2.5 mbps data rate. a token passing protocol provides predictable response times because each network event occurs within a known time interval. throughput can be reliably predeter- mined based upon the number of nodes and their expected traffic. the COM90C66 establishes the network configuration and automatically reconfigures the token passing order as new nodes are added or deleted from the network. the COM90C66 performs address recognition, crc checking and generation, packet acknowledgement, and other network management functions. the c0m90c66 interfaces directly to the ibm pc/at or compatibles. the internal 2k x 8 ram buffer is used to hold up to four data packets with a maximum length of 508 bytes each. pin configuration aen d0 d1 d2 d3 d4 d5 d6 d7 gnd d8 d9 d10 d11 d12 d13 d14 d15 intr nbsled ntxled nprom npulse1 npulse2 rxin clk caclk nc nc ntoph nior niow nmemr nmemw gnd niocs16 nmemcs16 x t a l 1 x t a l 2 n i d 0 n i d 1 n i d 2 n i d 3 n i d 4 n i d 5 n i d 6 n i d 7 v c c i o s 2 i o s 1 i o s 0 m s 4 m s 3 m s 2 m s 1 m s 0 r e s e t i n n e n r o m a 1 9 a 1 8 a 1 7 a 1 6 a 1 5 a 1 4 a 1 3 a 1 2 a 1 1 a 1 0 v c c a 9 a 8 a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 9 8 7 6 5 4 3 2 1 84 83 82 81 80 79 78 77 76 75 11 10 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 52 53 39 iochrdy nows nsbhe bale package: 84-pin plcc ordering information: COM90C66 ljp ntopl COM90C66
4 description of pin functions plcc pin no. name symbol description processor interface 75-84, 2- 11 address 0-19 a0-a19 input. these signals are connected to the address lines of the host processor and are used to access memory and i/o locations of the COM90C66, as well as to access the external rom through the COM90C66. 13-20, 22-29 data 0-15 d0-d15 input/output. these signals are used by the host to transmit data to and from the internal registers and buffer memory of the COM90C66 and are connected to weak internal pull-up resistors. 63, 62 ntransceiver direction control ntopl, ntoph output. these active low signals control the data bus transceiver. when these signals are high, data gets sent from the pc to the COM90C66. when these signals are low, data gets sent from the COM90C66 to the pc, or from the prom to the pc if the prom signal is also low. 71 i/o channel ready iochrdy output. this signal, when low, is optionally used by the COM90C66 to extend host cycles. this is an open-drain signal. an external pull-up resistor is typically provided by the system. 12 address enable aen input. this signal, when low, acts as a qualifier for i/o address selection. when the signal is high, i/o decoding is disabled. this signal has no effect on memory address selection. 74 address latch enable bale input. the falling edge of this signal is used by the COM90C66 to latch the a0-a19 lines and the nsbhe signal via an internal transparent latch. this signal is connected to a weak internal pull-up resistor. 64 ni/o read nior input. this active low signal is issued by the host microprocessor to indicate an i/o read operation. a low level on this pin when the COM90C66 is accessed enables data from the internal registers of the COM90C66. 65 ni/o write niow input. this active low signal is issued by the host microprocessor to indicate an i/o write operation. a low pulse on this pin when the COM90C66 is accessed enables data from the data bus into the internal registers of the COM90C66.
5 description of pin functions plcc pin no. name symbol description 66 nmemory read nmemr input. this active low signal is issued by the host microprocessor to indicate a memory read operation. a low level on this pin when the COM90C66 is accessed enables data from the internal ram of the COM90C66 or the prom onto the data bus to be read by the host. 67 nmemory write nmemw input. this active low signal is issued by the host microprocessor to indicate a memory write operation. a low pulse on this pin when the COM90C66 is accessed enables data from the data bus into the internal ram of the COM90C66. 52 reset in resetin input. this active high signal is the power on reset signal from the host. it is used to activate the internal reset circuitry within the COM90C66. 53 nrom enable nenrom input. this active low signal enables the decoding of the external prom. this signal also affects the timing of iochrdy and the number of address lines used to decode nmemcs16. this signal is connected to a weak internal pull-up resistor. 54 nrom select nprom output. this active low signal is issued by the COM90C66 to enable the external 8-bit wide prom or the external register of the COM90C66. 30 interrupt request intr output. this active high signal is generated by the COM90C66 when an enabled interrupt condition occurs. intr returns to its inactive state when the interrupt status condition or the corresponding interrupt mask bit is reset. 72 nzero wait state n0ws output. this active low signal is used to force zero wait state access cycles on the ibm pc bus. this is an open- drain signal. an external pull-up resistor is typically provided by the system. 70 nmemory 16-bit chip select nmemcs16 output. this active low signal is used to indicate that the present data transfer is a 16-bit memory cycle. the COM90C66 can be configured to use a19-a17 or a19- a11 to generate nmemcs16. this is an open-drain signal. an external pull-up resistor is typically provided by the system.
6 description of pin functions plcc pin no. name symbol description 69 ni/o 16-bit chip select niocs16 output. this active low signal is used to indicate that the present data transfer is a 16-bit i/o cycle. a15-a2 are used to generate niocs16. this is an open-drain signal. an external pull-up resistor is typically provided by the system. 73 nsystem bus high enable nsbhe input. this active low signal is used to enable the COM90C66 to transfer data on d8-d15 of the data bus. transmission media interface 56, 55 npulse 2, npulse 1 npulse 2, npulse 1 output. these active low signals carry the transmit data information, encoded in pulse format, from the COM90C66 to the lan driver. 57 receive in rxin input. this signal carries the receive data information from the lan driver to the COM90C66. miscellaneous 51-47 memory base address select ms0-ms4 input. these signals are generated by external switches. they are used by the memory decoder to select a block of memory. these signals are connected to weak internal pull-up resistors. 46-44 i/o base address select ios0-ios2 input. these signals are generated by external switches. they are used by the i/o decoder to select a block of 16 i/o locations. these signals are connected to weak internal pull-up resistors. 35-42 node id select nid0-nid7 input. these signals are generated by external switches. the node id code represents the node identification of this particular COM90C66. these signals are connected to weak internal pull-up resistors. 32 ntransmit activity led ntxled output. this active low signal is used for direct connection to an led through a resistor to v cc to indicate transmit activity. this signal has 12ma sink capability. 31 nboard select activity led nnbsled output. this active low signal is used for direct connection to an led through a resistor to v cc to indicate board activity. this signal has 12ma sink capability.
7 description of pin functions plcc pin no. name symbol description 33, 34 crystal oscillator xtal1, xtal2 an external parallel resonant 20 mhz crystal should be connected to these pins. if an external 20 mhz ttl clock is used instead, it must be connected to xtal1 with a 390 w pull-up resistor and xtal2 should be left floating. 59 ca clock caclk output. this is the start/stop ca clock and should be left floating for typical operation. 58 clock clk output. this is a general purpose 5 mhz clock and should be left floating for typical operation. 1, 43 power supply v c c +5 volt power supply pin. 21, 68 ground gnd ground pins. 60-61 no connect nc make no connection to these pins.
8 figure 1 - COM90C66 operation invitation to transmit to this id? y n free buffer enquiry to this id? soh? y n y n ri? write sid to buffer did =0? did =id? write buffer with packet crc ok? length ok? did =0? did =id? send ack n y n y n y n broadcast enabled? n y n no activity for 82 us? y n set nid=id start timer: t=(255-id) activity on line? y n t=0? set ri ri? transmit nak transmit ack set nid=id write id to ram buffer send reconfigure burst power on reconfigure timer has timed out start reconfiguration timer (840 ms) ta? broadcast? transmit free buffer enquiry no activity pass the token set ta y n ack? nak? no activity n y increment nid send packet was packet broadcast? no activity n ack? set tma set ta x 146 us for 74.7 us? for 74.7 us? for 74.7 us? y n n y y n n y n n n n 1 y y y y y y y n y read id* from switches 1 *the id set by the external switches is continually sampled during COM90C66 operation. - id refers to the identification number of the id assigned to this node. - nid refers to the next identification number that receives the token after this id passes it. - sid refers to the source identification. - did refers to the destination identification - soh refers to the start of header charcter; preceeds all data packets.
9 protocol description network protocol communication on the network is based on a token passing protocol. establishment of the network configuration and management of the network protocol are handled entirely by the COM90C66's internal microcoded sequencer. a processor or intelligent peripheral transmits data by simply loading a data packet and its destination id into the ram buffer and issuing a command to enable the transmitter. when the COM90C66 next receives the token, it verifies that the receiving node is ready by first transmitting a free buffer enquiry message. if the receiving node transmits an acknowledge message, the data packet is transmitted followed by a 16-bit crc. if the receiving node cannot accept the packet (typically its receiver is inhibited), it transmits a negative acknowledgement message and the transmitter passes the token. once it has been established that the receiving node can accept the packet and transmission is complete, the receiving node will verify the packet. if the packet is received successfully, the receiving node transmits an acknowledge message (or nothing if it is received unsuccessfully) allowing the transmitter to set the appropriate status bits to indicate successful or unsuccessful delivery of the packet. an interrupt mask permits the COM90C66 to generate an interrupt to the processor when selected status bits become true. figure 1 is a flow chart illustrating the internal operation of the COM90C66. network reconfiguration a significant advantage of the COM90C66 is its ability to adapt to changes on the network. whenever a new node is activated or deactivated, a network reconfiguration is performed. when a new COM90C66 is turned on (creating a new active node on the network), or if the COM90C66 has not received an invitation to transmit for 840 ms , or if a software reset occurs, the device causes a network reconfiguration by sending a reconfigure burst consisting of eight marks and one space repeated 765 times. the purpose of this burst is to terminate all activity on the network. since this burst is longer than any other type of transmission, the burst will interfere with the next invitation to transmit, destroy the token and keep any other node from assuming control of the line. when any COM90C66 senses an idle line for greater than 82 s, which will only occur when the token is lost, each COM90C66 starts an internal timeout equal to 146 s times the quantity 255 minus its own id. it also sets the internally-stored nid (next id representing the next possible id node) equal to its own id. if the timeout expires with no line activity, the COM90C66 starts sending invitation to transmit with the destination id (did) equal to the currently-stored nid. within a given network, only one COM90C66 will timeout (the one with the highest id number). after sending the invitation to transmit, the COM90C66 waits for activity on the line. if there is no activity for 74.7s, the COM90C66 increments the nid value and transmits another invitation to transmit using the nid equal to the did. if activity appears before the 74.7s timeout expires, the COM90C66 releases control of the line. during network reconfiguration, invitations to transmit will be sent to all 256 possible ids. each COM90C66 on the network will finally have saved a nid value equal to the id of the COM90C66 that it released control to. at this point, control is passed directly from one node to the next with no wasted invitations to transmit being sent to ids not on the network until the next network reconfiguration occurs. when a node is powered off, the previous node will attempt to pass it the token by issuing an invitation to transmit. since this node will not respond, the previous node will timeout and transmit another invitation to transmit to an incremented id and eventually a response will be received.
10 the time required to do a network reconfiguration depends on the number of nodes in the network, the propagation delay between nodes, and the highest id number on the network, but will be in the range of 24 to 61 ms. broadcast messages broadcasting gives a particular node the ability to transmit a data packet to all nodes on the network simultaneously. id zero is reserved for this feature and no node on the network can be assigned id zero. to broadcast a message, the transmitting node's processor simply loads the ram buffer with the data packet and sets the did equal to zero. figure 9 illustrates the position of each byte in the packet with the did residing at address 01 hex of the current page selected in the transmit command. each individual node has the ability to ignore broadcast messages by setting the most significant bit of the enable receive to page nn command (see table 7) to logic "0". extended timeout function there are three timeouts associated with the COM90C66 operation: response time the response time is equal to the round trip propagation delay between the two furthest nodes on the network plus the maximum turn around time (the time it takes a particular COM90C66 to start sending a message in response to a received message), which is approximately 12.7 s. the round trip propagation delay is a function of the transmission media and network topology. for a typical system using rg62 coax in a baseband system, a one-way cable propagation delay of 31 s translates to a distance of about four miles. the flow chart in figure 1 uses a value of 74.7 s (31 + 31 + 12.7) to determine if any node will respond. idle time the idle time is associated with a network reconfiguration. figure 1 illustrates that during a network reconfiguration, one node will continually transmit invitations to transmit until it encounters an active node. every other node on the network must distinguish between this operation and an entirely idle line. during network reconfiguration, activity will appear on the line every 82 s. this 82 s is equal to the response time of 74.7 s plus the time it takes the COM90C66 to retransmit another message (usually another invitation to transmit). reconfiguration time if any node does not receive the token within the reconfiguration time, the node will initiate a network reconfiguration. the et2 and et1 bits (bits 3 and 4 of the configuration register) allow the network to operate over longer distances than the four miles stated earlier. the logic levels on these bits control the maximum distances over which the COM90C66 can operate by controlling the three timeout values described above. see the description of the et1 and et2 bits, found in table 8, for the table containing the combinations of these bits. it should be noted that for proper network operation, all COM90C66s connected to the same network must have the same response time, idle time, and reconfiguration time. line protocol the arcnet line protocol can be described as isochronous because each byte is preceded by a start interval and ended with a stop interval. unlike asynchronous protocols, there is a constant amount of time separating each data byte. each byte takes up exactly 11 clock intervals with a single clock interval being 400 ns in duration. as a result, one byte is
11 transmitted every 4.4 s and the time to transmit a message can be precisely determined. the line idles in a spacing (logic "0") condition. a logic "0" is defined as no line activity and a logic "1" is defined as a negative pulse of 200 ns duration. a transmission starts with an alert burst consisting of six unit intervals of mark (logic "1"). eight-bit data characters are then sent with each character preceded by two unit intervals of mark and one unit interval of space. five types of transmission can be performed as described below: invitations to transmit an invitation to transmit is used to pass the token from one node to another and is sent by the following sequence: an alert burst an eot (end of transmission--ascii code 04 hex) two (repeated) did (destination identification) characters alert burst eot did did free buffer enquiries a free buffer enquiry is used to ask another node if it is able to accept a packet of data and is sent by the following sequence: an alert burst an enq ( enquiry--ascii code 85 hex) two (repeated) did (destination identification) characters data packets a data packet consists of the actual data being sent to another node and is sent by the following sequence: an alert burst an soh (start of header--ascii code 01 hex) an sid (source identification) character two (repeated) did (destination identification) characters a single count character which is the 2's complement of the number of data bytes to follow if a short packet is being sent or 00 hex followed by a count character which is the 2's complement of the number of data bytes to follow if a long packet is being sent n data bytes where count = 256-n (or 512-n for a long packet) two crc (cyclic redundancy check) characters. the crc polynomial used is x 16 + x 15 + x 2 + 1. alert burst enq did did a l e r t b u r s t s o h s i d d i d d i d c o u n t d a t a d a t a c r c c r c
12 acknowledgements an acknowledgement is used to acknowledge reception of a packet or as an affirmative response to free buffer enquiries and is sent by the following sequence: an alert burst an ack ( acknowledgement--ascii code 86 hex) character negative acknowledgements a negative acknowledgement is used as a negative response to free buffer enquiries and is sent by the following sequence: an alert burst a nak (negative acknowledgement--ascii code 15 hex) character system description the system block diagram shown in figure 2 illustrates a typical implementation of an arcnet node using the COM90C66. the only external components required to complete an arcnet node design are one or two bus transceivers (for 8-bit or 16-bit applications, respectively) and the lan driver, making the COM90C66 the most highly-integrated arcnet solution. the COM90C66 provides for simple interfacing to both sides of the arcnet system, namely the microprocessor and the transmission media. microprocessor interface the left half of figure 2 illustrates a typical COM90C66 interface to the pc. the sections outlined in dotted lines represent the portion which distinguishes the 16-bit interface, while the remaining interface exists for both 8-bit and 16-bit applications. the interface consists of a 20-bit address bus, a 16-bit data bus and a control bus. all accesses to the internal ram, the optional prom and the internal registers are controlled by the COM90C66. the microprocessor's address lines are directly connected to the COM90C66. the address decoding circuitry of the COM90C66 monitors the address bus to determine valid accesses to the device. figure 2 shows octal bus transceivers utilized as the interface between the microprocessor's data lines and the COM90C66. the transceivers are only necessary when interfacing to a high current drive data bus such as the ibm pc data bus, and may otherwise be omitted. the COM90C66 provides the ntopl and ntoph signals which control the direction of the external transceiver(s). the ntopl signal is also activated during prom read cycles. the microprocessor's control bus is directly connected to the COM90C66 and is used in access cycle communication between the device and the microprocessor. all accesses support zero wait state arbitration in most machines. the control bus has been optimized to support the intricacies of the ibm at bus and the eisa bus. alert burst ack alert burst nak
13 transmission media interface the right half of figure 2 illustrates the COM90C66 interface to the transmission media used to connect the node to the network. the hyc9058/68/88 may be used to drive the media. during transmission, the COM90C66 transmits a logic "1" by generating two 100 ns non-overlapping negative pulses, npulse1 and npulse2. these signals are sent to the lan driver, which in turn creates a 200 ns dipulse signal on the media. a logic "0" is transmitted by the absence of the two negative pulses, that is, the npulse1 and npulse2 outputs remain high, therefore there is an absence of a dipulse. during reception the 200 ns dipulse appearing on the media is coupled through the rf transformer of the lan driver. a positive pulse at the rxin pin of the COM90C66 is interpreted as a logic "1". again, if no dipulse is present, the COM90C66 interprets a logic "0". typically, rxin pulse occur at multiples of 400 ns. the COM90C66 can tolerate distortion of plus or minus 100 ns and still correctly capture the rxin pulses. during reset, the transmitter portion of the COM90C66 is disabled and the npulse1 and npulse2 pins are inactive high. the COM90C66 includes the ntxled and nbsled signals which, when tied to leds, provide indication of transmit and board access activity. in addition, it is possible for the user to completely disable the transmitter through software. these two unique features represent two of the improvements made in the diagnostics of the device. please see the improved diagnostics section of this document for further detail. functional description microsequencer the COM90C66 contains an internal microsequencer which performs all of the control operation necessary to carry out the arcnet protocol. it consists of a clock generator, a 554 x 8 rom, a program counter, two instruction registers, an instruction decoder, a no-op generator, jump logic, and reconfiguration logic. the COM90C66 derives a 5 mhz and a 2.5 mhz clock from the external crystal. these clocks provide the rate at which the instructions are executed within the COM90C66. the 5 mhz clock is the rate at which the program counter operates, while the 2.5 mhz clock is the rate at which the instructions are executed. the microprogram is stored in the rom and the instructions are fetched and then placed into the instruction registers. one register holds the op code, while the other holds the immediate data. once the instruction is fetched, it is decoded by the internal instruction decoder, at which point the COM90C66 proceeds to execute the instruction. when a no-op instruction is encountered, the microsequencer enters a timed loop, in which case the program counter is temporarily stopped until the loop is complete. when a jump instruction is encountered, the program counter is loaded with the jump address from the rom. the COM90C66 contains an internal reconfiguration timer which interrupts the microsequencer if it has timed out. at this point the program counter is cleared, after which the myrecon bit of the diagnostic status register is set.
14 figure 2 - system block diagram 2 memory i/o base address select switch node id select switch 3 8 5 aen bale nior niow nmemr nmemw reset in iochrdy nows 1 2 1 aen bale nior niow nmemr nmemw rstdrv iochrdy ibm pc at bus 2 4 6 8 10 1 3 5 7 9 intr ios0-2 ms0-4 nid0-7 ng dir b1-b8 a1-a8 als245 ntopl d0-d7 d0-d7 irq2-irq5, irq7 noe ncs d0-d7 a0-a12 8k x 8 prom socket nprom a0-a19 nenrom gnd v nbsled 1 2 rom enable ntxled c9 +5v nmemr a0-a19 c5 + clk caclk nc nc n/c n/c rxin npulse1 n/c n/c xtal2 xtal1 c8 c7 smsc COM90C66 nows +5v +5v c6 -5v 3 14 13 4 19 17 7 20 18 hyc9088 6 12 11 +5v c1 c2 + twisted pair circuitry shown. for coax circuitry, see 16-bit interface signals; not necessary in 8-bit interface hyc9058/68 data sheets. r1-r4 = 5.6k, 1/2 w r5,r6 = 500 c1,c5 = 10 uf c2,c6 = 0.47 uf c3,c4 = 27 pf c7,c8 = 47 pf c9 = 0.1 uf r3 r4 c4 r1 c3 j1 1 2 3 4 j2 1 2 3 4 r2 ntoph niocs16 nmemcs16 nsbhe niocs16 nmemcs16 nsbhe d8-d15 d8-d15 b1-b8 als245 npulse2 j1 1 2 3 4 r5 r6 a1-a8 dir cc ng
15 figure 3 - internal block diagram micro- sequencer and working registers status/ command register reset logic reconfiguration timer node id logic oscillator tx/rx logic additional registers address decoding circuitry npulse1 npulse2 xtal1 xtal2 ntxled 1k x 8 ram 1k x 8 ram ios0-2 ms0-4 a0-a19 nenrom nprom aen bale ntopl intr reset in nmemr nmemw nior niow nows iochrdy nrxin nbsled i/o channel ready and bus arbitration circuitry clk caclk nid0-7 ntoph d0-d15 nmemcs16 niocs16 nsbhe
16 figure 4 ? memory selector figure 5 ? prom selector figure 6 ? i/o selector bale a19 a18 a17 a16 a15 a14 a13 a12 a11 transparent latch comparator ms4 ms3 ms2 ms1 ms0 memory select 5 to 9 decoder 5 to 7 decoder bale a19 a18 a17 a16 a15 a14 ms4 ms3 ms2 ms1 ms0 transparent latch comparator nenrom prom decode a13* * in i/o 16k x 8 mode, a13 is a don't care 3 to 12 decoder bale ios2 ios1 ios0 transparent latch comparator aen i/o selector a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4
17 figure 9 ? ram buffer packet configuration fi gure 7 - 16k memory segment (memory mapped mode) a13 = 1: 8k prom space a13 = 0: a11 and a12 select one of these 2k ram segments. figure 8 - 16k prom segment (i/o mapped, 16k x 8 mode) a13 = 1: upper 8k prom space a13 = o: lower 8k prom space short packet sid did count = 256-n not used data byte 1 data byte 2 data byte n-1 data byte n not used format (256 or 512 byte page) 0 1 2 count 255 511 long packet sid did 0 not used data byte 1 data byte 2 data byte n-1 data byte n format (512 byte page) 0 1 2 count 511 count = 512-n 3 n = data packet length sid = source id did = destination id (did = 0 for broadcasts) chosen by ms0-ms4 chosen by mso-ms4
18 table 1 ? user configuration of memory map ms4 ms3 ms2 ms1 ms0 decoded bits found in data register ram address prom address range range d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 c:0000-c:07ff c:0800-c:0fff c:1000-c:17ff c:1800-c:1fff c:4000-c:47ff c:4800-c:4fff c:5000-c:57ff c:5800-c:5fff d:0000-d:07ff d:0800-d:0fff d:1000-d:17ff d:1800-d:1fff d:4000-d:47ff d:4800-d:4fff d:5000-d:57ff d:5800-d:5fff d:8000-d:87ff 1 d:8800-d:8fff d:9000-d:97ff d:9800-d:9fff e:0000-e:07ff e:0800-e:0fff e:1000-e:17ff e:1800-e:1fff c:c000-c:c7ff c:c800-c:cfff c:d000-c:d7ff c:d800-c:dfff d:c000-d:c7ff d:c800-d:cfff d:d000-d:d7ff d:d800-d:dfff c:2000-c:3fff c:6000-c:7fff c:e000-c:ffff d:2000-d:3fff d:6000-d:7fff d:a000-d:bfff d:e000-d:ffff e:2000-e:3fff c:2000-c:3fff c:6000-c:7fff c:e000-c:ffff d:2000-d:3fff d:6000-d:7fff d:a000-d:bfff d:e000-d:ffff e:2000-e:3fff c:2000-c:3fff c:6000-c:7fff c:e000-c:ffff d:2000-d:3fff d:6000-d:7fff d:a000-d:bfff d:e000-d:ffff e:2000-e:3fff c:2000-c:3fff c:6000-c:7fff c:e000-c:ffff d:2000-d:3fff d:6000-d:7fff d:a000-d:bfff d:e000-d:ffff e:2000-e:3fff 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
19 address decoding the COM90C66 includes address decoding circuitry that compares the value of the address bus to the address range selected by the memory select (ms0-ms4) and i/o select (ios0-ios2 ) pins in order to determine processor accesses to the on-board prom, the on-chip ram, and i/o locations. by placing switches on the ms0-ms4 and the ios0-ios2 pins, the user configures the memory map and i/o map according to the possible address ranges shown in tables 1 and 2. table 2 - user configuration of i/o map ios2 i0s1 ios0 i/o address range 0 0 0 0260-026f 0 0 1 0290-029f 0 1 0 02e0-02ef 0 1 1 02f0-02ff 1 0 0 0300-030f 1 0 1 0350-035f 1 1 0 0380-038f 1 1 1 03e0-03ef memory address decoding the memory address decoding circuitry is used to select a block from the memory map of the processor for prom and ram accesses. figure 4 illustrates how the memory selection works. the ms4-ms0 pins are decoded through a 5 to 9 decoder to generate a 9-bit value. these nine bits are compared to the a19-a11 lines of the address bus in order to select a particular 16k memory segment. figure 7 illustrates a 16k block of memory that has been selected by the ms4-ms0 pins. the prom occupies the upper 8k area of the selected 16k segment and is accessed when a13 = 1. the ram occupies one of four selectable 2k areas of the selected 16k segment and is accessed when a13 = 0. a11 and a12 are used to determine which 2k segment of the lower 8k area will be used for the ram buffer. figure 5 illustrates how the external prom selection works. the ms4-ms0 pins are decoded through a 5 to 7 decoder to generate a 7-bit value. these seven bits are compared to the a19-a13 lines of the address bus in order to select an 8k memory range. figure 7 illustrates an 8k block of memory for the prom. in i/o 16k x 8 mode only a 16k memory range is selected for the prom. figure 8 illustrates a 16k block of memory for the prom. the nenrom pin is used to enable decoding for the on-board prom. if nenrom is connected to a logic "1", the COM90C66 will not generate the nprom signal, the ntopl signal, or the iochrdy signal for accesses to the prom. in this configuration, the COM90C66 will only occupy a 2k segment of memory. i/o address decoding this section is used to select a block of 16 i/o locations from the i/o map of the processor. figure 6 illustrates how the i/o selection
20 table 3 ? read register summary 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f read ri por test recon tma ta myrecon rcvact token cchen decode et1 et2 wait io- access txoff a7 a6 a5 a4 a3 a2 a1 a0 auto- inc a10 a9 a8 nid0 nid1 nid2 nid3 nid4 nid5 nid6 nid7 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 address status diag. status config- i/o select uration memory select node id reserved reserved reset reset reset reset data low data address ptr low address ptr high register i/o0 i/o1 i/o2 i/o3 i/o4 i/o5 0 0 mem7 mem6 mem5 mem4 mem3 mem2 mem1 mem0 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x high 16en msb lsb
21 table 4 ? write register summary 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f write 16en cchen decode et1 et2 wait io- access txoff a7 a6 a5 a4 a3 a2 a1 a0 auto- inc a10 a9 a8 ri 0 recon ta nid0 nid1 nid2 nid3 nid4 nid5 nid6 nid7 d0 d1 d2 d3 d4 d5 d6 d7 d12 d13 d14 d15 address reset reset reset data low address ptr low address ptr high config- uration node id reserved reset interrupt mask command external reserved reserved register register 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 d0 d1 d2 d3 d4 d5 d6 d7 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 0 0 0 0 d0 d1 d2 d3 d4 d5 d6 d7 d11 d10 d9 d8 data high msb lsb
22 process works. the ios2-ios0 pins are decoded through a 3 to 12 decoder to generate a 12-bit value. these 12 bits are compared to the a15-a4 lines of the address bus in order to determine which block of 16 i/o locations will be used by the chip. a logic "0" on the aen signal enables the i/o decoding process. tables 3 and 4 illustrate the COM90C66 register map. reserved locations should not be accessed. internal registers the COM90C66 contains internal registers which may be accessed by the microprocessor. all undefined bits are read as undefined and must be written as logic "0". status register the COM90C66 status register is an 8-bit read-only register which can be accessed by the microprocessor. all of the bits in this register (except for bits 5 and 6) are software-compatible with previous smsc arcnet devices. the extended timeout bits are now in the configuration register. the status register contents are traditionally defined as in table 5. the status register contents are defined differently during the command chaining operation. please refer to the "command chaining" section of this document for these definitions. the status register defaults to the value 1xx1 0001 upon either hardware or software reset. interrupt mask register (imr) the COM90C66 is capable of generating an interrupt signal when certain status bits become true. a write to the imr specifies which status bits will be enabled to generate the interrupt. the bit positions in the imr are in the same position as their corresponding status bits in the status register, and a logic "1" in a particular position enables the corresponding interrupt. while the receiver inhibited, reconfiguration, and transmitter available status bits are capable of generating an interrupt if enabled, the tma status bit will never cause an interrupt. the imr takes on the following bit definition: bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 ri x x x x re- con x ta the three maskable status bits are anded with their respective mask bits, and the results are ored to produce the processor interrupt signal intr. an ri or ta interrupt is masked when the corresponding mask bit is reset to logic "0", but will reappear when the corresponding mask bit is set to logic "1" again, unless the interrupt status condition has been cleared by this time. a recon interrupt is cleared when the clear flags command is issued. the interrupt mask register defaults to the value 0000 0000 upon either hardware or software reset. diagnostic status register the diagnostic status register contains three read-only bits which give the user the ability to troubleshoot network or node operation. the various combinations of these bits and the transmitter off bit of the configuration register represent different situations and can be used during troubleshooting. these bits are reset to logic "0" upon reading the diagnostic status register or upon software or hardware reset. the register contents are as in table 6. the diagnostic status register defaults to the value 0x00 xxxx upon either hardware or software reset. command register execution of commands are initiated by performing a processor i/o write with the written data defining the commands listed in table 7. any combinations of written data other than those listed in table 7 are not permitted and may result in incorrect chip and/or network operation.
23 table 5 - status register bit bit name symbol description 7 receiver inhibited ri this bit, if high, indicates that a packet has been deposited into the ram buffer page nn as specified by the last enable receive to page nn command. no messages will be received until this command is issued, and once the message has been received, the ri bit gets set, thereby inhibiting the receiver. the ri bit is cleared by issuing an enable receive to page nn command. this bit, when set, will cause an interrupt if the corresponding bit of the interrupt mask register is also set. 6 (not used) this bit is undefined. 5 (not used) this bit is undefined. 4 power on reset por this bit, if high, indicates that the COM90C66 has been reset by either a software reset, a hardware reset, or setting the node id = 00h. the por bit is cleared by the clear flags command. 3 test test this bit is intended for test and diagnostic purposes. it is a logic "0" under normal operating conditions. 2 reconfiguration recon this bit, if high, indicates that the line idle timer has timed out because the rxin pin (pin 57) was idle for 82  s. the recon bit is cleared during a clear flags command. this bit, when set, will cause an interrupt if the corresponding bit in the interrupt mask register is also set. the interrupt service routine should consist of looking at the myrecon bit of the diagnostic status register to make sure that there are not consecutive reconfigurations caused by this node. 1 transmitter message acknowledged tma this bit, if high, indicates that the packet transmitted as a result of an enable transmit from page nn command has been positively acknowledged. this bit should only be considered valid after the ta bit (bit 0) is set. broadcast messages are never acknowledged. the tma bit is cleared by issuing the enable transmit from page nn command. 0 transmitter available ta this bit, if high, indicates that the transmitter is available for transmitting. this bit is set at the conclusion of an enable transmit from page nn command or upon execution of a disable transmitter command. the ta bit is cleared by issuing the enable transmit from page nn command after the node next receives the token. this bit, when set, will cause an interrupt if the corresponding bit in the interrupt mask register is also set.
24 table 6 - diagnostic status register bit bit name symbol description 7 my reconfiguration my- recon this bit, if high, indicates that the reconfiguration that has just occurred was caused by this node. this bit is set when the token reception timer times out. this bit is typically read after the recon bit of the status register is found to be set. refer to the improved diagnostics section of this document for further details. 5 receive activity rcvact this bit, if high, indicates that receive activity (data transition) is detected on the rxin pin of the device. this bit may be used in diagnostic troubleshooting of the network or node. refer to the improved diagnostics section of this document for further details. 4 token seen token this bit, if high, indicates that a token has been seen on the network, sent by a node other than this node. this bit may be used in diagnostic troubleshooting of the network or node. refer to the improved diagnostics section of this document for further details. 6, 3-0 (not used) these bits are undefined. table 7 - command register written data command name description 0000 0000 clear transmit interrupt this command is only used in the command chaining operation. please refer to the command chaining section of this document for definition of this command. 0000 0001 disable transmitter this command will cancel any pending transmit command (transmission that has not yet started) and will set the ta (transmitter available) status bit to logic "1" when the COM90C66 next receives the token. 0000 0010 disable receiver this command will cancel any pending receive command. if the COM90C66 is not yet receiving a packet, the ri (receiver inhibited) bit will be set to logic "1" the next time the token is received. if packet reception is already underway, reception will run to its normal conclusion.
25 table 7 - command register written data command name description 000n n011 enable transmit from page nn this command prepares the COM90C66 to begin a transmit sequence from ram buffer page nn the next time it receives the token. when this command is loaded, the ta and tma bits are reset to logic "0". the ta bit is set to logic "1" upon completion of the transmit sequence. the tma bit will have been set by this time if the COM90C66 has received an acknowledgement from the destination node. this acknowledgement is strictly hardware level, which is sent by the receiving node before its controlling processor is even aware of message reception. it is also possible for this acknowledgement to get lost due to line errors. this implies that the tma bit is not a guarantee of proper destination reception. refer to figure 1 for details of the transmit sequence and its relation to the ta and tma status bits. b00n n100 enable receive to page nn this command allows the COM90C66 to receive data packets into ram buffer page nn and resets the ri status bit to logic "0". if the value of "b" is a logic "1", the COM90C66 will also receive broadcast transmission. a broadcast transmission is a transmission to id zero. the ri status bit is set to logic "1" upon successful reception of a message. 0000 c101 define configuration this command defines the maximum length of packets that may be handled by the device. if the value of "c" is a logic "1", the COM90C66 will handle long as well as short packets. if the value of "c" is a logic "0", the COM90C66 will only handle short packets (packets less than 254 bytes). 000r p110 clear flags this command resets one or both flags of the COM90C66. if the value of "p" is a logic "1", the por status flag is reset. if the value of "r" is a logic "1", the recon status flag is reset. 0000 1000 clear receive interrupt this command is only used in the command chaining operation. please refer to the command chaining section of this document for definition of this command.
26 table 8 - configuration register bit bit name symbol description 7 16-bit enable 16en this bit, if high, enables 16-bit operation of the device. a low level on this bit enables only 8-bit operation. this bit defaults to a logic "0" upon hardware reset. 6 command chaining enable cchen this bit, if high, enables the command chaining operation of the device. please refer to the command chaining section of this document for further details. a low level on this bit ensures software compatibility with previous smsc arcnet devices. this bit defaults to a logic "0" upon hardware reset. 5 decode mode decode in i/o mapped applications, this bit is used to choose between an 8k or 16k block of rom. in this case, a logic "0" defines 8k, while a logic "1" defines 16k. in memory mapped applications, this bit and the nenrom input are used to choose whether the nmemcs16 signal will be generated by decoding a block of 128k or 2k. in this case, a logic "0" defines 128k, while a logic "1" defines 2k. for more details on the use of this bit, refer to the memory vs. i/o cycles section of this document. this bit defaults to a logic "0" upon hardware reset. 4, 3 extended timeout 1, 2 et1, et2 these bits allow the network to operate over longer distances than the default four miles by controlling the response time, the idle time, and the reconfiguration time. for proper network operation, all nodes should be configured for the same timeout values. the bit combinations follow: response idle reconfiguration et2 et1 time (s) time (s) time ( ms) 0 0 1193.6 1312 1680 0 1 596.8 656 1680 1 0 298.4 328 1680 1 1 74.7 82 840 these bits default to a logic "1" upon hardware reset.
27 table 8 - configuration register bit bit name symbol description 2 wait state wait this bit is used to select the type of cycle. a logic "1" on this bit negates the iochrdy signal for approximately one or two xtal1 clocks, creating one wait state. a logic "0" selects zero wait state arbitration to the buffer ram and generates the zero wait state signal. refer to the wait state details section of this document for further information. this bit defaults to a logic "1" upon hardware reset. 1 i/o access io- access a logic "1" on this bit configures the buffer ram for sequential i/o mapped accesses, while a logic "0" configures the buffer ram for memory mapped accesses. this bit defaults to a logic "0" upon hardware reset. 0 transmitter off txoff a logic "1" on this bit disables the transmitter of the COM90C66, while the receiver remains functional. a logic "0" keeps the transmitter enabled. this bit may be used in diagnostic troubleshooting of the network or node. refer to the improved diagnostics section of this document for further details. this bit defaults to a logic "0" upon hardware reset. table 9 - address pointer low register bit bit name symbol description 7-0 address 7-0 a7-a0 these bits hold the lower eight address bits which provide the addresses to the on-chip ram. table 10 - address pointer high register bit bit name symbol description 7, 5-3 (not used) these bits are undefined. 6 auto increment auto- inc this bit controls whether or not the address pointer will increment automatically when the device is in i/o mapping mode. a logic "1" on this bit will automatically increment the pointer after each access. a logic "0" will disable this function. please refer to the memory vs. i/o section of this document for further detail. 2-0 address 10-8 a10-a8 these bits hold the upper three address bits which provide the addresses to the on-chip ram.
28 configuration register the configuration register is a read/write register which can be accessed by the microprocessor to configure the different modes of the COM90C66. the register contents are as in table 8. the configuration register defaults to the value 0001 1100 upon hardware reset only. memory select register this register contains the decoded bits of the memory select 0-4 switch. for further details, refer to the memory address decoding section of this document, as well as figure 4 and table 1. i/o select register this register contains the decoded bits of the i/o select 0-2 switch. for further details, refer to the i/o address decoding section of this document, as well as figure 6 and table 2. node id register the node id register contains the values of the node id switches. the microprocessor may read from the node id register at any time for diagnostic purposes. in addition, the COM90C66 may be put into a special mode whereby the microprocessor may write to the node id register, thus software programming the node id. to enter this special mode, the node id switches must be set to 00h. note that when the node id switches are set to 00h, the COM90C66 is put into a disable transmitter mode and it will not attempt to join the network. when the device is in the disable transmitter mode, tokens are not passed and reconfigurations are not generated by the node. the receiver portion of the device will provide the user with useful information about the network. the device will not attempt to rejoin the network until a valid node id value is placed into the node id register. in addition to keeping the device in the disable transmit mode, when the node id switches are set to 00h, the ram of the COM90C66 is kept hidden from the microprocessor. the ram may be enabled by issuing a software reset, followed by a valid write to the node id register. refer to the system reset logic section for details on resetting the device in a non-ibm-compatible environment. the i/o address of the node id register is 05h. tables 3 and 4 illustrate the node id register, as well as the other registers of the COM90C66. the node id register defaults to the value 0000 0000 upon hardware reset only. external register the optional write only external register may be used for application-dependent functions. a read operation at this location will provide invalid data. whenever a write to address 07h occurs, the COM90C66 activates the nprom signal. in this case, the nprom signal is to be used as the nchip select signal and the niow signal should be used to write to the external register. the external prom should use the nprom signal as nchip select and the nmemr signal as noutput enable, as usual. reset register any read or write access to i/o offsets 08h, 09h, 0ah, or obh generates a software reset. these four i/o locations were preserved for software compatibility with the com90c65 arcnet controller. refer to the reset logic section of this document for further details. data low and high registers these read/write registers are each 8-bits wide and are used in i/o mapped mode only. the data register contains the byte or word which is meant to be read from or written to the address location presently specified by the address pointer. the contents of the data registers are undefined upon hardware reset.
29 address pointer low and high registers these read/write registers are each 8-bits wide and are used in i/o mapped mode only. these bits contain undefined data upon software or hardware reset. the contents of the address pointer registers are defined as in tables 9 and 10. the COM90C66 is capable of incrementing the address automatically, as explained in table 10. the contents of the address pointer registers are undefined upon hardware reset. internal ram the integration of the 2k x 8 ram in the COM90C66 provides several advantages to the user. firstly, a significant amount of real estate is saved due to the elimination of the external ram, the external latch, and the multiplexed address/data bus and control functions which used to be necessary to interface to the ram. secondly, the system designer is no longer dependent upon the fluctuating cost of external ram. this, and the fact that the entire solution is more integrated (reducing reliability problems, assembly time and costs, and layout complexity), adds up to significant cost reductions. thirdly, with the eliminated need for ram interfacing signals, several other innovative features now take the place of the freed-up pins without the need for increased package size and pinout. some of the pins have been replaced with such useful features as the 16-bit data bus, the zero wait-state signal, the diagnostic pins, and the choice of memory or i/o mapped functionality. fourthly, the COM90C66 is very high speed. the ability of the device to implement zero wait state cycles is partly due to the fact that the ram is internal to the device. the configuration register contains the i/o access bit, which determines whether the ram will be configured for sequential i/o mapped accesses or memory mapped accesses. additionally, the decode mode bit allows the choice of 8k or 16k block of rom if set for i/o mapped access, or the choice of the activation of the nmemcs16 signal upon access to 2k or 128k of ram if set for memory mapped access. when the device is configured for a 16-bit data bus, the on-chip ram is seen by the processor as 1k x 16 rather than 2k x 8. software interface the microprocessor interfaces to the COM90C66 via software by accessing the various registers. these actions were discussed in the internal registers section of this document. additionally, it is necessary to understand the details of how the internal registers are used in the transmit and receive sequences and how the internal ram buffer is properly set up. the sequence of events that tie these actions together are discussed as follows. transmit sequence during a transmit sequence, the microprocessor selects a 256 or 512 byte segment of the ram buffer and writes into it. the appropriate buffer size is specified in the define configuration command. when long packets are enabled, the COM90C66 interprets the packet as a long or short packet, depending on whether the content of the buffer address 2 is zero or non-zero. the format of the buffer is shown in figure 9. address 0 contains the source identifier (sid), address 1 contains the destination identifier (did) , and address 2 contains, for short packets, the value 256-n, where n represents the message length, or for long packets, the value 0, indicating that it is indeed a long packet. in the latter case, address 3 would contain the value 512-n, where n
30 represents the message length. the sid in address 0 is used by the receiving node to reply to the transmitting node. the COM90C66 puts the local id in this location , therefore, it is not necessary to write into this location. please note that a short packet may contain between one and 253 data bytes, while a long packet may contain between 257 and 508 data bytes. a minimum value of 257 exists on a long packet so that the count is expressable in eight bits. this leaves three exception packet lengths which do not fit into either a short or long packet; packet lengths of 254, 255, or 256 bytes. if packets of these lengths must be sent, the user must add dummy bytes to the packet (00's) in order to make the packet fit into a long packet. once the buffer is written into, the microprocessor awaits a logic "1" on the ta bit, indicating that a previous transmit command has concluded and another may be issued. each time the message is loaded and a transmit command issued, it will take a variable amount of time before the message is transmitted, depending on the traffic on the network and the location of the token at the time the transmit command was issued. typically, the conclusion of the transmit command, which is flagged when ta becomes a logic "1", generates an interrupt. if the device is configured for the command chaining operation, please see the command chaining section of this document for further detail on the software. once the ta bit becomes a logic "1", the microprocessor issues the enable transmit from page nn command, which resets the ta and tma bits to logic "0". if the message is not a broadcast, the COM90C66 automatically issues a free buffer enquiry to the destination node in order to send the message. at this point, one of three possibilities may occur: the first possibility is if a free buffer is available at the designation note, in which case it responds with an acknowledgement. at this point, the COM90C66 fetches the data from the transmit buffer and performs the transmit sequence. if a successful transmit sequence is completed, the tma bit and the ta bit are set to logic "1". if the packet is not transmitted successfully, tma will not be set. a successful transmission occurs when the receiving node responds to the packet with an ack. an unsuccessful transmission occurs when the receiving node does not respond to the packet. the second possibility is if the destination node responds with a negative acknowledgement. a nak occurs when the ri bit of the destination node is a logic "1". in this case, the token is passed on from the transmitting node to the next node. the next time the transmitter receives the token, it will try to retransmit a free buffer enquiry. if a nak is again received, the token is again passed onto the next node. a software timeout on the ta bit is used to prevent this from happening endlessly. that is, if no software timeout existed, the transmitting node would keep trying to issue a free buffer enquiry, even though it keeps receiving naks as a response. the software timeout on the ta bit is used to tell the microprocessor to disable the transmitter via the disable transmitter command, which will cause the transmission to be abandoned and the ta bit to be set to a logic "1" when the node next receives the token, while the tma bit remains at a logic "0". the third possibility which may occur after a free buffer enquiry is issued is if no response is received from the destination node. in this case, the ta bit is set to a logic "1" in preparation for the next time the token is received, while the tma bit remains at a logic "0". the user should determine whether the node will try to retransmit the next time it receives the token.
31 the fourth possibility is if a non-traditional response is received (some pattern other than ack or nak, such as noise). in this case, the token is not passed onto the next node, which causes the lost token timer of the next node to time out, thus generating a network reconfiguration. the disable transmitter command may be used to cancel any pending transmit command when the COM90C66 next receives the token. normally, in an active network, this command will set the ta status bit to a logic "1" when the token is received. if the disable transmitter command does not cause the ta bit to be set in the time it takes the token to make a round trip through the network, one of three situation exists. either the node is disconnected from the network, or there are no other nodes on the network, or the external receive circuitry has failed. these situations can be determined either by using the improved diagnostic features of the COM90C66 or by using another software timeout which is greater than the worst cast time for a round trip token pass, which occurs when all nodes transmit a maximum length message. receive sequence a receive sequence begins with the ri status bit becoming a logic "1", which indicates that a previous reception has concluded. the microprocessor will be interrupted if the corresponding bit in the interrupt mask register is set to logic "1". otherwise, the microprocessor must periodically check the status register. once the microprocessor is alerted to the fact that the previous reception has concluded, it may issue the enable receive to page nn command, which resets the ri bit to logic "0" and selects a new page in the ram buffer. again, the appropriate buffer size is specified in the define configuration command. typically, the page which just received the data packet will be read by the microprocessor at this point. once the enable receive to page nn command is issued, the microprocessor attends to other duties. there is no way of telling how long the new reception will take, since another node may transmit a packet at any time. when another node does transmit a packet to this node, if the define configuration command has enabled the reception of long packets, the COM90C66 interprets the packet as a long or short packet, depending on whether the content of the buffer location 2 is zero or non- zero. the format of the buffer is shown in figure 9. address 0 contains the source identifier (sid), address 1 contains the destination identifier (did), and address 2 contains, for short packets, the value 256-n, where n represents the message length, or for long packets, the value 0, indicating that it is indeed a long packet. in the latter case, address 3 contains the value 512-n, where n represents the message length. note that on reception the COM90C66 deposits packets into the ram buffer in the same format that the transmitting node arranged it, which allows for a message to be received and then retransmitted without rearranging any bytes in the ram buffer other than the sid and did. once the packet is received and stored correctly in the selected buffer, the COM90C66 sets the ri bit to logic "1" to signal the microprocessor that the reception is complete. software compatibility considerations the COM90C66 guarantees compatibility with previous smsc arcnet devices. upon hardware reset, the device defaults to compatibility mode, that is, 8-bit, memory mapped cycles, non-command chaining mode and non-zero wait state mode. command chaining the command chaining operation allows consecutive transmissions and receptions to occur without host intervention. through the use
32 of a dual two-level fifo, commands to be transmitted and received, as well as the status bits, are pipelined. in order for the COM90C66 to be compatible with previous smsc arcnet devices, the device defaults to the non-chaining mode. in order to take advantage of the command chaining operation, the command chaining mode must be enabled via a logic "1" on bit 6 of the configuration register. the following is a list of command chaining guidelines for the software programmer to follow. further detail can be found in the transmit command chaining and receive command chaining sections of this document. the device is designed such that the interrupt service routine latency does not affect performance. the first interrupt maybe serviced prior to the generation of the second interrupt. up to two outstanding transmissions and two outstanding receptions can be pending at any given time. the commands may be given in any order. up to two outstanding transmit interrupts and two outstanding receive interrupts are stored by the device, along with their respective status bits. the interrupt mask bits act on tta (rising transition on transmitter available) for transmit operations and tri (rising transition of receiver inhibited) for receive operations. tta is set upon completion of a packet reception only. typically there is no need to mask the tta and tri bits after clearing the interrupt. the traditional ta and ri bits are still available to reflect the present status of the device. in command chaining, the status register looks as follows: ta por test recon tma tta tma tta tri tri ri
33 transmit command chaining when the processor issues the first enable transmit to page nn command, the COM90C66 responds in the usual manner by resetting the ta and tma bits to prepare for the transmission from the specified page. the ta bit can be used to see if there is currently a transmission pending, but the ta bit is really meant to be used in the non-chaining mode only. the tta bits provide the relevant information of the device in the command chaining mode. in the command chaining mode, at any time after the first command is issued, the processor can issue a second enable transmit from page nn command. the COM90C66 stores the fact that the second transmit command was issued, along with the page number. after the first transmission is completed, the COM90C66 updates the status register by setting the tta bit, which generates an interrupt. the interrupt service routine will read the status register. at this point, the tta bit will be found to be a logic "1" and the tma (transmit message acknowledge) bit will tell the processor whether the transmission was successful. after reading the status register, the clear transmit interrupt command is issued, thus resetting the tta bit and clearing the interrupt. note that only the clear transmit interrupt command will clear the tta bit and the interrupt. it is not necessary, however, to clear the bit or the interrupt right away because the status of the transmit operation is double buffered in order to retain the results of the first transmission for analysis by the processor. this information will remain in the status register until the clear transmit interrupt command is issued. note that the interrupt will remain active until the command is issued, and the second interrupt will not occur until the first interrupt is cleared. the tma bit is also double buffered to reflect whether the appropriate transmission was a success. the tma bit should only be considered valid after the corresponding tta bit has been set to a logic "1". the tma bit never causes an interrupt. when the token is received again, the second transmission will be automatically initiated after the first is completed by using the stored enable transmit from page nn command. the operation is as if a new enable transmit from page nn command has just been issued. after the first transmit status bits are cleared, the status register will again be updated with the results of the second transmission and a second interrupt resulting from the second transmission will occur. the COM90C66 guarantees a minimum of 200ns interrupt inactive time interval before the following edge. the transmitter available (ta) bit of the interrupt mask register now masks only the tta bit of the status register, not the ta bit as in the non- chaining mode. since the tta bit is only set upon transmission of a packet (not by reset), and since the tta bit may easily be set by issuing a clear transmit interrupt command, there is no need to use the ta bit of the interrupt mask register to mask interrupts generated by the tta bit of the status register. in both the command chaining mode and the non-chaining mode, the disable transmitter command will cancel the oldest transmission. this permits canceling a packet destined for a node not ready to receive. if both packets should be canceled, two disable transmitter commands should be issued. receive command chaining like the transmit command chaining operation, the processor can issue two consecutive enable receive from page nn commands. after the first packet is received into the first specified page, the tri bit of the status register will be set to logic "1", causing an interrupt. again, the interrupt need not be serviced
34 immediately. typically, the interrupt service routine will read the status register. at this point, the ri bit will be found to be a logic "1". after reading the status register, the clear receive interrupt command is issued, thus resetting the tri bit and clearing the interrupt. note that only the clear receive interrupt command will clear the tri bit and the interrupt. it is not necessary, however, to clear the bit or the interrupt right away because the status of the receive operation is double buffered in order to retain the results of the first reception for analysis by the processor, therefore, the information will remain in the status register until the clear receive interrupt command is issued. note that the interrupt will remain active until the clear receive interrupt command is issued, and the second interrupt will not occur until the first interrupt is acknowledged. the second reception will occur as soon as a second packet is sent to the node, as long as the second enable receive to page nn command was issued. the operation is as if a new enable receive to page nn command has just been issued. a second interrupt will not occur until the first interrupt is acknowledged by issuing the clear receive interrupt command. after the first receive status bits are cleared, the status register will again be updated with the results of the second reception and a second interrupt resulting from the second reception will occur. a minimum of 200ns interrupt inactive time interval is guaranteed. in the COM90C66, the receive inhibit (ri) bit of the interrupt mask register now masks only the tri bit of the status register, not the ri bit as in the non-chaining mode. since the tri bit is only set upon reception of a packet (not by reset), and since the tri bit may easily be set by issuing a clear receive interrupt command, there is no need to use the ri bit of the interrupt mask register to mask interrupts generated by the tri bit of the status register. in both the command chaining mode and the non-chaining mode, the disable receiver command will cancel the oldest reception, unless the reception has already begun. if both receptions should be canceled, two disable receiver commands should be issued. reset details internal reset logic the COM90C66 includes special reset circuitry to guarantee smooth operation during reset. special care is taken to assure proper operation in a variety of systems and modes of operation. the design ensures that the COM90C66 will not disturb the microprocessor or the system bus until the system has reached a certain level of operation. furthermore, in order to eliminate conflicts with other memory elements, the internal ram of the COM90C66 is hidden from the system until a software reset is issued to the device and until a valid node id is placed in the node id register. when the system software determines that no conflicts will arise, it then may enable the internal memory of the COM90C66 via a software reset. because most system buses are inherently noisy, the COM90C66 contains digital filter circuitry and a schmitt trigger on the reset in signal to reject glitches in order to ensure fault- free operation. the COM90C66 supports two reset options ; software and hardware reset. an internal reset signal of pulse width equal to 102.4 s is generated from either a hardware of a software reset. the hardware reset occurs when a high signal is asserted on the reset in input (pin 65). the minimum reset pulse width is 120 ns (or 2t+20 ns for crystal frequencies other than 20 mhz, where t = 1/f). this pulse width is
35 used by the internal digital filter, which filters short glitches to only allow valid resets to occur. a software reset is generated when the microprocessor accesses i/o locations 8, 9, a, or b. upon reset, the transmitter portion of the device is disabled and the internal registers assume those states outlined in the internal registers section. the COM90C66 will start 102.4 s after the reset in signal is removed. please note that the internal ram buffer cannot be seen by the processor unless a software reset is issued. therefore, following power up or hardware reset, a software reset must be issued. please refer to system reset logic for the steps to bring the device out of reset. as the device comes out of reset, the COM90C66, after reading its own id, will execute two write cycles to the ram buffer. address 00 hex will be written with the data d1 hex and the address 01 hex will be written with the id number read from the node id select switch. the processor may then read ram buffer address 01 to determine the COM90C66 id. it should be noted that the data pattern d1 written into the ram has been chosen arbitrarily. only if the d1 pattern appears in the ram buffer can proper operation be assured. system reset logic the ibm at bus automatically provides continuously running cycles for nmemr, nmemw, nior, and niown which are utilized by the COM90C66 in its internal reset sequence. buses other than the ibm at (or compatible) typically do not provide continuously running cycles. in this case, the user will need to note the following COM90C66 internal reset sequence so that the software interface will provide the proper accesses utilized by the device. please refer to figure 10. by satisfying the simple requirements below, the user can be assured proper operation of the COM90C66's reset sequence in a non-ibm at environment. a hardware or software reset begins the COM90C66's internal power on reset. certain steps must be taken to bring the device out of reset. in the case of a hardware reset with the node id switches set to 00h in a non-at or xt- compatible, the following steps should be taken: 1. hardware reset 2. dummy access cycle ( nmemr, nmemw, nior or niow) to end the internal power on reset 3. write to the node id register 4. wait 114.4 s (or 256 bit clocks + 12 s) 5. dummy access cycle 6. write to the configuration register 7. software reset to wake up the internal ram 8. dummy access cycle 9. write to the node id register 10. wait 114.4 s (or 256 bit clocks + 12 s) 11. dummy access cycle if only a software reset occurred, then steps 1-7 are not necessary. if the node id switches are set to a value other than 00, then steps 3 and 9 are not necessary. if the machine is an at- or xt-compatible, then steps 2, 5, 8 and 11 are not necessary. once these steps are taken, the COM90C66 comes out of reset. any accesses thereafter are considered valid accesses. read and write cycles memory vs. i/o cycles in addition to memory mapping, the COM90C66 performs sequential i/o mapped memory accesses, thus a packet that is placed in the internal ram buffer can be accessed by addressing only one 8- or 16-bit i/o location. the processor places the address that needs to be accessed into the address pointer by writing
36 figure 10 - internal reset sequence hardware or software reset internal por nmemr, nmemw, nior, niow microsequencer por internal reset 102.4 us or 256 bit clocks 12 us cycles enabled 1 2 3 1 during this time, the microsequencer is being reset and the transmitter portion of the device is disabled. during this time, the ntoph, ntopl, nprom, niocs16, and nmemcs16 signals are a a logic "1"; the intr signal is a logic "0"; the data bus is in the high impedance state; and the iochrdy signal is in normal operation. the 2nd cycle should be issued after the 12us. 2 during this time, the microsequencer writes d1h to address 00h, and the node 3 id number to 01h. the transmitter portion of the device is enabled.
37 it as data to addresses ofh and oeh (address pointer high and low registers). the processor then reads/writes from/to address 0ch (for 8-bit) or och and odh (for 16 bit) the data found/to be placed at that address. if the auto increment bit is turned on, the address pointer will then increment the address until the entire packet is obtained/sent. the device in 8- bit mode increments the pointer by one ; 16-bit mode increments the pointer by two. although sequential i/o mapped memory accesses require more steps than memory mapped accesses, i/o mapped is just as efficient as memory mapped and does not require the large block of memory in the host addressing space that memory mapped does. on the other hand, memory mapped access is more flexible and allows the processor to analyze the data and make decisions without emptying the entire packet into system memory. refer to figure 11 for an illustration of the sequential i/o mapped memory access operation. the fact that the COM90C66 contains independent nmemcs16 and niocs16 signals provides design versatility. the board can be software configured for memory mapped or i/o mapped mode, depending on the system constraints. the following is some basic information on both memory and i/o modes so that the user can determine which mode is best suited for the application: memory mapped mode: on any address bus, all address lines must at some point be latched. on the at bus, la17- la23 are not latched on the motherboard. these are faster, unlatched addresses which can tell the user immediately when the board is being accessed. these unlatched lines must be latched externally by the user. the COM90C66 provides the transparent latch necessary for these unlatched address lines, as well as the transparent latch necessary for the additional unlatched addresses on the micro channel bus. on the at bus, the lower, latched address lines (sa0-sa19) come out to the bus a little later than the unlatched lines. the existence of the faster, unlatched addresses allows the COM90C66 board to recognize accesses immediately, thereby activating the nmemcs16 signal for any access to a 128 kbyte block of memory. the unlatched version of the nmemcs16 mode of the COM90C66 will meet the timing specification of nmemcs16 for every machine, but the limitations are that this mode may complicate co-existence with other 8- bit boards in the same 128 kbyte block, and an 8-bit auto-boot prom cannot be supported in this mode. therefore, the device must be configured for memory mapped, 16-bit mode and the nenrom signal must be high. in order to use a prom on the board, the nmemcs16 signal should be activated for decoding to a 2 kbyte block of memory. in this case, the nenrom signal will of course be a logic "0", enabling the prom. in this mode, co- existence with other 8-bit boards will be supported, as well as the use of the 8-bit prom, which will be directly controlled by the device. however, this is at the expense of slower nmemcs16 timing. refer to table 11 for the 16-bit memory mapped decode table as a function of the nenrom pin and the decode mode bit. refer to figure 12 for an illustration of the generation of the nmemcs16 signal.
38 table 11 - 16-bit memory mapped decode the internal latches of the COM90C66 go transparent on bale high and latch on bale low. if all addresses being used are already latched or valid for the entire duration of the cycle, then the bale signal may be tied to a logic "1". i/o mapped mode: the system can also be configured as i/o mapped. in this case, the data transfers to and from the packet buffer are done by accessing an i/o location and having the internal pointer in the device sequentially address memory. the niocs16 signal is activated upon accesses to the 16-bit pointer register or to the 16-bit data register. in the i/o mapped mode, addresses up to a15 are decoded to determine accesses to the device. on the at bus the a0-a15 lines are provided as latched addresses. therefore, the bale signal may be tied to a logic "1". in the i/o mode, no memory is used by the board except for the optional prom. the nmemcs16 signal is not used at all. a logic "0" on the nenrom pin enables rom mapping, and in the i/o mapped mode the user can choose between an 8k or 16k block of ram. refer to table 12 for the 16-bit i/o mapped decode table as a function of the nenrom pin and the decode mode bit. refer to figure 12a for an illustration of the generation of the niocs16 signal. table 12 - 16 -bit i/o mapped decode wait state details in the typical computer, the bus speed will be slower than the cpu speed so that the peripherals will be able to keep up with the machine. in many cases, the peripheral will need additional delays to be able to keep up, and will therefore use the iochrdy signal to tell the processor whether or not it is ready to continue. the use of the iochrdy signal effectively "slows down" the bus. the COM90C66 is quick enough to take advantage of the maximum bus speed of most at compatibles. the function employs the use of the nows signal and guarantees the fastest microprocessor cycles. the use of the nows signal effectively "speeds up" the bus. upon power up, the COM90C66 defaults to the non-zero wait state mode. the nows mode can be easily configured by writing a logic "0" into bit 2 of the configuration register. for machines with faster buses, the COM90C66 can be configured to negate the iochrdy line for the minimal period of time necessary. if the iochrdy signal is used, it is negated for one xtal1 clock for ram and internal register cycles. if the optional prom is on board, it might require a slower cycle to accommodate its access time even if the device is configured for zero wait state mode. when the nenrom signal is active (logic "0"), the COM90C66 will negate the iochrdy signal for two xtal1 clocks on rom read accesses. if the optional external register is used, i/o write n enrom decode mode ram n memcs16 rom 0 x 2k 2k 8k 1 0 2k 128k - 1 1 2k 2k - n enrom decode mode ram n memcs16 rom 0 0 i/o - 8k 0 1 i/o - 16k 1 x i/o - -
39 figure 11 - sequential i/o mapped memory access operation address pointer register low 1k x 16 ram 11 data register 16 i/o address 0ch i/o address 0eh 11-bit counter memory address bus memory data bus d0-d15 high i/o address 0fh high low i/o address odh
40 figure 12 ? nmemcs16 generation figure 12a - niocs16 generation transparent latch nenrom decode mode a11-a19 bale 9 falling edge of bale latches the address rising edge of bale makes latch transparent ms0-ms4 5 la17-la19 3 5 5 9 comparator (for 2k segment) comparator (for 128k segment) mux 16en nmemcs16 sa11-sa19 transparent latch 12 comparator 2 to 4 decoder niocs16 aen sa4-sa15 bale 12 ios0-ios2 sa2-sa3 2 11 10 01 00
41 cycles to it will also cause a negation of the iochrdy signal for two xtal1 clocks. note that by timing the ready circuitry from the xtal1 clock, the iochrdy signal is timed in absolute time rather than relative to the bus clock. either the nows signal or the iochrdy signal may be used (but not both), depending upon speed of the bus. in the case where the COM90C66 spec meets the bus speed and the user does not need to "speed up" or "slow down" the bus, neither the nows nor the iochrdy signal should be used. in this case, the wait state bit of the configuration register should be reset to logic "0" to configure the device for zero wait state, but the nows signal should not be connected to the bus. figure 2 shows a jumper between the nows signal and the bus to illustrate that the signal may be left unconnected. table 13 shows the iochrdy and nows signal behavior for ram, internal register prom, and external register access. table 13 - iochrdy and nows signal behavior please refer to the zero wait state and iochrdy timing diagram for further details on the specifications of these two signals. 8-bit vs. 16-bit accesses in 8-bit mode, the nmemcs16 and niocs16 signals remain in their inactive high state. all register and memory accesses transfer data on the lower half of the data bus (d0-d7) while the upper half (d8-d15) remain in the high impedance state. in 16-bit mode, the nmemcs16 signal is activated for ram accesses in the memory mapped mode, while the niocs16 signal is activated only for accesses to the pointer or to the data registers. all other registers are only 8- bit registers and thus do not require the niocs16 signal. in 16-bit mode, register and memory accesses transfer data on the entire data bus (d0-d15), except for accesses to 8-bit registers, which transfer data only on the lower half of the data bus (d0-d7) while the upper half (d8-d15) remains in the high impedance state. 8-bit i/o mapped mode: in order to perform an 8-bit i/o mapped cycle, the 16-bit address pointer register should be programmed by writing the high register first, and then the low register. all pointer bits are loaded only after the low register is written. in 8-bit i/o mapped mode, the a10-a0 register bits determine the byte address to be accessed through the lower portion of the data register (address offset och). refer to table 14 for signal level requirements in 8-bit i/o mapped accesses. 8-bit memory mapped mode: in 8-bit memory mapped mode, the a10-a0 lines of the address bus determine the byte address to be accessed within the 2k block of ram. refer to table 14 for signal level requirements in 8-bit memory mapped accesses. 16-bit i/o mapped mode: in order to perform a 16-bit i/o mapped cycle, the 16-bit address pointer register should be programmed by writing the high register first, and then the low register, or writing both the high and low registers simultaneously. all pointer bits are loaded only after the low register is written. in 16-bit i/o mapped mode, the a10-a0 register bits determine the word wait state bit iochrdy n ows 0 logic "1" activated on access 1 negated for one or two xtal1 clocks logic "1"
42 address to be accessed through the data register. if a 1k x 16 space is desired, the a0 bit should be forced to a logic "0" and a1-a10 will be used to load the address pointer register. a single byte access at the defined word address is still possible by accessing either the upper or lower portion of the data register. when the device is configured for auto increment mode, the access to the upper portion of the data register automatically increments the pointer. refer to the memory vs. i/o cycles section of this document for further information on sequential i/o mapped memory cycles and the auto increment mode. refer to table 14 for signal level requirements in 16-bit i/o mapped mode. 16-bit memory mapped mode: in 16-bit memory mapped mode, the a10-a1 lines of the address bus determine the word address to be accessed, while a0 and nsbhe determine which byte within the word location will be accessed. refer to table 14 for signal level requirements in 16-bit memory mapped accesses. table 14 - 8-bit vs. 16-bit signal level requirements* access a0 nsbhe niocs16 nmemcs16 data transfer 8-bit i/o accesses address pointer low register 0 x 1 x d0-d7 address pointer high register 1 x 1 x d0-d7 data register x x 1 x d0-d7** other registers x x 1 x d0-d7 8-bit memory ram access x x x 1 d0-d7 16-bit i/o accesses pointer register word 0 0 0 x d0-d7, d8-d15 address pointer low register 0 1 0 x d0-d7 address pointer high register 1 0 0 x d8-d15 data register word 0 0 0 x d0-d7, d8-d15** even ram byte 0 1 0 x d0-d7 odd ram byte 1 0 0 x d8-d15** other registers x x 1 x d0-d7 16-bit memory accesses ram access, word 0 0 x 0 d0-d7, d8-d15 even ram byte 0 1 x 0 d0-d7 odd ram byte 1 0 x 0 d8-d15 * any combinations other than those defined above are illegal. **this access will increment the pointer
43 node id logic the node id code generated by the external node id select switches is used to identify this particular COM90C66. the code, which is input by the COM90C66 in parallel format, is used by the COM90C66 during transmission, reception, reset, and reconfiguration. upon reset, the COM90C66 reads the node id code set up on the switches and loads them into the node id register. for diagnostic purposes, the node id may be read by the microprocessor. the arcnet protocol maintains that a destination node id of 00h will allow the source node to broadcast a message. in addition, in order to provide the user with increased flexibility and to eliminate the cost of the node id switch on board, the COM90C66 provides special circuitry which allows the user to program the node id of any node via software. to software program the node id register, the node id switches of that node must be physically set to 00h. 00h is not recognized by the arcnet protocol as a valid node id and therefore is used only to switch to this special mode. setting the node id switches to all zero's puts the COM90C66 into reset. the device will not attempt to join the network and no microcode is performed. tokens are not passed and reconfigurations are not generated by the node. the device will not attempt to rejoin the network until a valid node id value is placed into the node id register. for normal operation, the node id switches will be set to some valid address between 01h and ffh. writing a nonzero value to the node id register will allow the COM90C66 to join the network. transmit/receive logic figure 13 illustrates the events which occur in transmission or reception of data consisting of 1,1,0. the COM90C66, during transmission, produces two 100 ns nonoverlapping pulses on the npulse1 and npulse2 lines to indicate a logic "1", whereas a lack of pulses indicates a logic "0". the npulse1 and npulse2 signals are used to drive the hyc9058, the hyc9068 or the hyc9088, which in turn creates a 200 ns dipulse signal on the transmission media. during reception, each dipulse appearing on the transmission media is coupled through the rf transformer of the lan driver to produce a positive pulse on the rxin pin. the pulse is captured by the COM90C66 and is then converted to nrz data. typically, rxin pulses occur at multiples of 400ns, plus or minus 100 ns and still correctly capture and convert the rxin pulses to nrz format. improved diagnostics the COM90C66 allows the user to better manage the operation of the network through the use of improved diagnostics within the device. a high level on the my reconfiguration (myrecon) bit indicates that the reconfiguration which has just taken place was caused by this particular node. after the reconfiguration (recon) bit of the status register interrupts the processor, the interrupt service routine will typically read the myrecon bit of the diagnostic status register. successive occurrences of a logic "1" on the myrecon bit indicates that something is wrong with this node. at that point, the transmitter should be disabled so that the entire network is not continuously brought down while the node is being evaluated. the receive activity (rcvact) bit of the diagnostic status register will be set to a logic "1" whenever a rising edge of nrz data is detected on the rxin pin. the token seen (token) bit of the diagnostic status register will be set to a logic "1" whenever any token has been seen on the network (except
44 those tokens transmitted by this node). the rcvact and token bits of the diagnostic status register may help the user to troubleshoot the network or the node. if unusual events are occurring on the network, the user may find it valuable to use the txoff bit of the configuration register to qualify events. different combinations indicate different types of problems. table 15 - diagnostic bits for troubleshooting network activity rcvact token txoff description normal results 1 1 1 the node is not part of the network. the network is operating properly without this node. 1 1 0 the node sees receive activity and sees the token. the basic transmit function is enabled. network and node are operating properly. abnormal results 1 0 x the node sees receive activity, but is not seeing the token. perhaps no other nodes exist on the the network, or some type of data corruption exists, or the media driver is not functioning properly, or the topology is set up incorrectly, or there is noise on the network, or a reconfiguration is occurring. 0 0 0 no receive activity is seen and the basic transmit function is enabled. the transmitter and/or receiver are not functioning properly. 0 0 1 no receive activity is seen and the basic transmit function is disabled. this node is not connected to the network. in addition to the diagnostic status register bits, the COM90C66 contains two pins for direct connection to led's. these pins are meant to immediately provide basic visual information on board and network activity with decreased dependence upon software. the COM90C66 contains an internal retriggerable digital one- shot which allows the ntxled to light for 726 us +/-10% each time the COM90C66 transmits information. every time the host accesses either the internal ram, registers, or external prom, the nbsled will light for 400 ms +/- 20%. the sink capability of both the ntxled and nbsled pins is 10ma, thus allowing direct connection to the led's to be supported by the COM90C66. the only additional components are 500 w resistors between the led's and v cc .
45 oscillator the COM90C66 incorporates on-board circuitry which, in conjunction with an external parallel resonant crystal, forms an oscillator. the oscillator frequency may vary from 8 mhz to 20 mhz to allow for a variable data rate from 1.0 mbps to 2.5 mbps. the COM90C66 crystal oscillator has been designed to work with a parallel resonant crystal. only two capacitors are needed (one from each leg of crystal to ground). the values of the capacitors are two times the lead capacitance of the crystal. the COM90C66 contains an internal 1 m w resistor. the external crystal must have an accuracy of 0.020% or better. figure 13 - dipulse generation and receive waveform for data of 1-1-0 20mhz clock (for ref. only) npulse1 npulse2 dipulse rxin 1 0 100ns 100ns 200ns 400ns 1
46 operational description maximum guaranteed ratings * operating temperature range ................................ ................................ ......................... 0 o c to +70 o c storage temperature range ................................ ................................ ....................... -55 o c to +150 o c lead temperature (soldering, 10 seconds) ................................ ................................ ............... +325 o c positive voltage on any pin, with respect to ground ................................ ................................ v cc +0.3v negative voltage on any pin, with respect to ground ................................ ................................ .... -0.3v maximum v cc ................................ ................................ ................................ ................................ +7v *stresses above those listed may cause permanent damage to the device. this is a stress rating only and functional operation of the device at these or any other condition above those indicated in the operational sections of this specification is not implied. note: when powering this device from laboratory or system power supplies, it is important that the absolute maximum ratings not be exceeded or device failure can result. some power supplies exhibit voltage spikes or "glitches" on their outputs when the ac power is switched on or off. in addition, voltage transients on the ac power line may appear on the dc output. if this possibility exists it is suggested that a clamp circuit be used. dc electrical characteristics (t a = 0 o c to 70 o c, v cc = 5.0v 5%) parameter symbol min. typ. max. units comments low input voltage 1 (all inputs except xtal1, reset, aen, nior, niow, nmemr, nmemw) high input voltage 1 (all inputs except xtal1, reset, aen, nior, niow, nmemnr, nmemw) v il1 v ih1 2.0 0.8 v v ttl levels ttl levels low input voltage 2 (xtal1) high input voltage 2 (xtal1) v il2 v ih2 4.0 1.0 v v ttl clock input
47 dc electrical characteristics (t a = 0 o c to 70 o c, v cc = 5.0v 5%) parameter symbol min. typ. max. units comments low to high threshold input voltage (reset, aen, nior, niow, nmemr, nmemw) high to low threshold input voltage (reset, aen, nior, niow, nmemr, nmemw) v ilh v ihl 1.8 1.2 v v schmitt trigger, all values at v dd = 5v low output voltage 1 (npulse1, npulse2, ntopl, ntoph nprom, clk, caclk) high output voltage 1 n(pulse1, npulse2, ntopl, ntoph, nprom, clk, caclk) v ol1 v oh1 2.4 o.4 v v i sink = 4ma i source = -2ma low output voltage 2 (d0-d15) high output voltage 2 (d0-d15) v ol2 v oh2 2.4 0.4 v v i sink = 16ma i source = -12ma low output voltage 3 (intr) high output voltage 3 (intr) v ol3 v oh3 2.4 0.8 v v i sink = 24ma i source = -10ma low output voltage 4 (iochrdy, n0ws, nmemcs16, niocs16) v ol4 0.5 v i sink = 24ma open drain driversn low output voltage 5 ( ntxled, nbsled) v ol5 0.4 v i sink = 12ma v cc supply current i cc1 20.0 ma input pull-up current input leakage current i p i l -10.0 60 +10.0 a a v in = 0 to v cc
48 capacitance (t a = 25 o c; f c = 1mhz; v cc = 0v) output and i/o pins capacitive load specified as follows: parameter symbol min. typ. max. units comments input capacitance c in 5.0 pf output capacitance 1 (all outputs except iochrdy, n0ws, nmemcs16, niocs16, intr) output capacitance 2 (iochrdy, n0ws, nmemcs16, niocs16) output capacitance 3 (intr) c out1 c ou t2 c out3 45 240 120 pf pf pf
49 timing diagrams the ac parameters in figures 14-26 are preliminary. enhancements will follow. figure 14 - zero wait state and iochrdy timing nmemr, nmemw, nior, or niow nows** iochrdy** t1 t2 t3 t4 t5 20 t1 t2 t3 t4 t5 parameter control signal pulse width control signal low to nows low control signal high to nows high control signal low to iochrdy low iochrdy low pulse width min 80 0 0 50 typ max 20 115 units ns ns ns ns ns 20 0 ** these signals are mutually exclusive. only one signal is active on any given board, depending on the wait state bit of the configuration register. * * 1.2 us for back-to-back 8-bit cycles 2.5 us for 16-bit cycles t5 50 115
50 figure 15 - read ram cycle a0-a19 valid data valid t2 t1 t3 t4 t5 t8 t9 t10 bale nmemr d0-d7 ntopl ntoph, nmemcs16 (unlatched) nmemcs16 (latched) d0-d15 or nsbhe t6 t7 t11 ** parameter min typ max units * for latched addresses, t1 and t2 do not apply. please refer to figure 21 for latched address mode. ** 130ns minimum inactive time on consecutive memory reads from the COM90C66. t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 address, nsbhe set up to bale low* address, nsbhe hold after bale low* address, nsbhe set up to nmemr low nmemr low to valid data nmemr low to ntoph, ntopl low a19-a17 to nmemcs16 low (unlatched) (128k ram decode) a19-a11, bale high to nmemcs16 low (latched) (2k ram decode) nmemr high to ntoph, ntopl high nmemr high to data high impedance nmemr high to bale high (next address) address, nsbhe invalid to nmemcs16 high (unlatched)* 20 20 25 0 0 0 0 0 30 0 80 30 40 25 15 20 ns ns ns ns ns ns ns ns ns ns ns
51 figure 16 - write ram cycle a0-a19 valid data valid t2 t1 t3 bale nmemw d0-d7 ntopl t4 nmemcs16 nmemcs16 (unlatched) (latched) t8 t9 t7 t5 t6 nsbhe d0-d15 or ** 30 t1 t2 t3 t4 t5 t6 parameter min 20 20 25 typ max units ns ns ns ns 9 ns 30 ns 0 0 40 25 ns ns 0 ns t7 t8 t9 address, nsbhe set up to bale low * address, nsbhe hold after bale low * address, nsbhe set up to nmemw low valid data set up to nmemw high data hold time from nmemw high nmemw high to bale high (next address) a17-a19 to nmemcs16 low (unlatched) (128k ram decode) a11-a19, bale high to nmemcs16 (latched) (2k ram decode) address, nsbhe invalid to nmemcs16 high * for latched addresses, t1 and t2 do not apply. please refer to figure 21 for latched address mode. ** 200ns minimum inactive time on consecutive memory writes to the COM90C66.
52 figure 17 - read i/o cycle parameter min typ max units t1 t2 t3 t4 t5 t6 t7 t8 t9 address, nsbhe set up to bale low * address, nsbhe hold after bale low * address, nsbhe, aen set up to nior low nior low to valid data nior low to ntoph, ntopl low a2-a15 valid, aen low, bale high to niocs16 low nior high to ntoph, ntopl high nior high to data high impedance nior high to bale high (next address) 20 20 25 0 0 0 0 30 ns ns ns ns ns ns ns ns ns ns ns ns 80 30 25 15 20 * for latched addresses, t1 and t2 do not apply. please refer to figure 21 for latched address mode. ** 130 ns minimum inactive time on consecutive reads from data register of the COM90C66. t10 aen hold after nior high 10 ns valid aen a0-a15, bale nior d0-d7 ntopl t1 t2 t3 t4 t5 t7 t8 t9 nsbhe d0-d15 ntoph, niocs16 t6 or valid data ** t10
53 figure 18 - write i/o cycle a0-a15, valid data valid t2 t1 t3 t6 t7 bale niow d0-d7 or ntopl t4 nsbhe d0-d15 ntoph niocs16 t5 ** aen t8 30 t1 t2 t3 t4 t5 parameter address, nsbhe set up to bale low * address, nsbhe hold after bale low * address, nsbhe, aen set up to niow low valid data set up to niow high min 20 20 25 typ max units ns ns ns ns t6 9 ns niow high to bale high (next address) 30 ns a2-a15, aen low, bale high to niocs16 low t7 0 25 ns data hold time from niow high * for latched address, t1 and t2 do not apply. please refer to figure 21 for latched addresss mode. ** 200 ns minimum inactive time on consecutive writes to the data register of the COM90C66. aen hold after niow high 10 t8 ns
54 figure 19 - read prom cycle 0 t1 t2 t3 t4 t8 parameter address set up to bale low * address hold after bale low * address, set up to nmemr low nmemr low to nprom low min 20 20 50 0 typ max units ns ns ns ns ns 30 t7 nmemr high to bale high (next address) 30 ns 25 t6 iochrdy low pulse width 100 ns t5 nmemr low to iochrdy low 0 ns 20 165 ** all prom accesses are 8-bit only, rom should use nmemr as noe signal and prom as ncs. nmemr low to ntopl low nmemr high to nprom high nmemr high to ntopl high t9 t10 0 0 15 30 ns ns * for latched addresses, t1 and t2 do not apply. please refer to figure 21 for latched address mode. valid t2 t1 t3 bale nprom ** iochrdy t4 t5 t9 t8 t6 t7 t10 a0-a19 ntopl nmemr
55 figure 20 - write external register cycle valid t2 t1 t3 bale nprom ** iochrdy t4 t8 t5 t6 t7 niow aen a0-a15 t9 0 t1 t2 t3 t4 parameter address set up to bale low * address hold after bale low * address, aen set up to niow low niow low to nprom low min 20 20 50 typ max units ns ns ns ns 30 t6 niow high to bale high (next address) 30 ns 25 t5 iochrdy low pulse width 100 ns niow low to iochrdy low 20 165 ** the external latch should use nprom as ncs input and niow as clk input. niow high to nprom high t8 t7 0 0 ns ns * for latched addresses, t1 and t2 do not apply. please refer to figure 21 for latched address mode. aen hold after niow high t9 10 ns
56 figure 21 - latched address mode a0-a19 valid bale nmemr t1 nmemw nior niow t1 parameter control signal high to address invalid min 10 typ max units in the case of latched addresses, when bale is tied high, disregard t1 and t2 in figures 15-20. instead, use the above timing. ns (tied high)
57 figure 22 - transmit timing t2 t1 t1 t3 npulse1 npulse2 parameter min typ max units npulse1, npulse2 pulse width npulse1, npulse2 period npulse1, npulse2 overlap -10 100 400 0 +10 ns * ns ** ns *note 1: t1 = 2 x (crystal period) for clock frequencies other than 20 mhz. **note 2: t2 = 8 x (crystal period) for clock frequencies other than 20 mhz. this period applies to data of two consecutive one's. t1 t2 t3
58 figure 23 - receive timing t2 t1 rxin parameter min typ max units 400 10 rxin pulse width rxin period ns ns* * note: this period applies to data of two consecutive one's. t1 t2
59 figure 24 ? ttl input clock timing on xtal1 pin figure 25 - clk output timing xtal1 t1 t2 t3 parameter min typ max units t1 t2 t3 f input clock high time input clock low time input clock period input clock frequency 20 20 50 8 125 20 ns ns ns mhz clk t1 t2 t3 output clock high time output clock low time output clock period output clock frequency t1 t2 t3 f parameter min typ max units 100 100 200 5 ns ns ns mhz
60 figure 26 - reset, interrupt, and led timing reset intr ntxled nbsled parameter min typ max units t1 t2 t3 t4 reset pulse width intr inactive time ntxled active (low) nbsled active (low) 120 200 650 320 ns ns us us t1 t2 t3 t4
61 figure 27 - 84-pin plcc package dimensions dim 84l a a1 d d1 d2 d3 f g j e r b b1 c .165-.179 .095-.109 1.185-1.195 1.150-1.156 1.090-1.130 1.000 .050 typ .045 typ .010 .047-.053 .025-.045 .013-.021 .027 .020-.045 g e j j d1 d d3 pin 1 b1 b d2 r f c a a1 note: all dimensions are in inches. circle indicating pin 1 can appear on a top above it on a beveled edge. surface as shown on the drawing or right s e a t i n g p l a n e b a s e p l a n e j 1. 2.
62 addendum 1 data sheet errata for revision b COM90C66 - the revision b device does not operate properly in 8-bit mode. therefore, any reference to 8-bit operation should be disregarded. - the revisio n b device asserts the nn0ws signal on any memory read or memory write cycle, not just those associated with the COM90C66. therefore, the n0ws signal should not be connected and any reference to zero wait state operation should be disregarded. - the revi sion b device, when used in command chaining mode, effectively has only one level of status bits. therefore, disregard any reference to double buffering of the interrupt status bits. - in the revision b device, the decode mode bit has no effect on the me mory mapped decode. therefore, programming bit 5 of the configuration register is ineffective. the nenrom signal must be used alone to control the decode of either 128k or 2k of memory. - in the revision b device, when the device is in 16-bit i/o mapped mode, byte writes to odd locations overwrites the adjacent even location, therefore, byte writes to odd locations should not be done. it is suggested to perform all writes as word writes, or to temporarily place the device into 8-bit mode (only for this odd byte write) and then switch back to 16-bit mode for subsequent accesses. - in the revision b device, the ntxled active width is only 314 sec. these corrections apply to this data sheet only when used for revision b of the COM90C66. this COM90C66 revision is identified on the part by the letter "b" preceding the date code. specific entries in table format appear on the following page.
63 data sheet errata for revision b COM90C66 page section/figure/entry correction 4 description of pin functions - n0ws make no connection to this pin. 13 figure 2 - bus interface 16-bit interface signals must always be present. the n0ws signal should be left disconnected. 20,21, 25,37, 39 tables 3, 4, 8 - configuration register bit 7 (16en) and bit 5 (decode); tables 11, 12; figure 12 bit 7 (16-bit enable) of the configuration register must be written to as a logic "1" for proper device operation. bit 5 of the configuration register (decode mode) is not effective. 31-33 command chaining section the status bits are only single-level. 34,36 read and write cycles - memory vs. i/o cycles section in i/o mapped mode, packets in the internal ram buffer must be accessed by addressing one 16-bit i/o location. the device in 16-bit mode increments the pointer by two. the device should not be used in 8-bit mode. 37,40 wait state details section; table 13 the wait state bit may be written to as a logic "0" to avoid iochrdy negation, but the n0ws signal must be left disconnected. 40 8-bit vs. 16-bit accesses section disregard references to 8-bit memory and 8-bit i/o mapped mode. all accesses to internal memory should be 16-bit. when the device is in 16-bit i/o mapped mode, byte writes to odd locations should not be done. 41 table 14 8-bit i/o accesses to the data register and 8-bit memory accesses should not be done. 48 figure 14 disregard the n0ws timing signal. this signal should not be used. 59 figure 26 t3 should read 314 sec minimum.
64 addendum 2 data sheet errata for revision d COM90C66 - the revision d device contains 16-bit detection circuitry on the input of pin 60 to allow the device to power up in 16-bit mode. if pin 60 senses a low level any time between hardware reset and writing to the configuration register, the device defaults to 16-bit mode. if a low level is not sensed on pin 60, the device defaults to 8-bit mode. the mode may be overridden via software, if desired. - in the generation of the nmemcs16 signal, the revision d device decodes the a19-a11 addresses before they are latched by the device. the earlier comparison allows the nmemcs16 signal to be activated and deactivated more quickly by being independent of the bale signal. - in the generation of the niocs16 signal, the revision d device decodes the a15-a2 addre sses before they are latched by the device. the earlier comparison allows the niocs16 signal to be activated and deactivated more quickly by being independent of the bale signal. - in the revision d device, when the iochrdy signal is negated for internal accesses, it is always negated for two to three xtal1 clock periods rather than one to two. - in the revision d device, the leading edges of the nmemr and nmemw signals internally latch the addresses. when the device is used in 8-bit mode, the bale signal should be tied high. in this case, the 16-bit cycles which get broken into two 8-bit cycles will now be addressed properly for both cycles because the ale signal is no longer depended upon. any reference to the requirement of the ale signal should be disregarded. these corrections apply to this data sheet only when used for revision d of the COM90C66. this COM90C66 revision is identified on the part by either the letter "d" preceding the date code or no letter at all preceding the date code. specific entries in table format appear on the following pages.
65 data sheet errata for revision d COM90C66 page section/figure/entry correction 2,6,13 pin configuration - pin 60; description of pin functions - pin 60; figure 2 - system block diagram - pin 60 in revisin d, pin 60 is not a no connect, but rather, "n16-bit detect". the symbol is "n16detect", and the description should read "input. when this signal is low any time between hardware reset and writing to the configuration register, the device defaults to 16- bit mode. if a logic "0" is not sensed, the device defaults to 8-bit mode. the default setting obtained as a result of this input may be overridden via software. this signal is connected to a weak internal pull-up resistor. for a board designed to support both 8- and 16-bit buses, it is recommended that this signal be connected to a signal which is low only in the presence of a 16-bit bus, such as connector d18 of the at bus (at ground)." 25 table 8 - configuration register - bit 7 the last sentence in the description should read "this bit defaults to a logic "1" (16-bit mode) if pin 60 senses a low level any time between hardware reset and the writing of the configuration register. if a logic "0" is not sensed, bit 7 defaults to a logic "0" (8-bit mode). writing to the configuration register overrides the bus-size default determined by pin 60."
66 page section/figure/entry correction 40 8-bit vs. 16-bit accesses the following paragraph should be inserted after the heading 8-bit vs. 16-bit accesses : "the COM90C66 defaults to the appropriate bus- width mode when pin 60 is connected to a signal which is low only in the presence of a 16-bit bus, such as connector d18 of the at bus (at ground). if pin 60 senses a low level, the device defaults to 16-bit mode. if pin 60 senses a high level (such as when pin 60 is left disconnected), the device defaults to 8-bit mode. in either case, bit 7 of the configuration register automatically reflects the bus-width default. the user may override the default obtained via pin 60 by writing a new value into bit 7 of the configuration register." 39 figure 12 - nmemcs16 generation for revision d, the transparent latch and the bale signal should not appear in figure 12. the addresses are actually latched by the device for proper addressing, but the nmemcs16 signal is generated by the addresses which come directly into the device rather than the internally latched version of these addresses. 49,50 figure 15 - read ram cycle -t7, t11; figure 16 - write ram cycle - t6, t9 for revision d, parameters t7 of figure 15 and t6 of figure 16 should not reference bale, but should instead read "a19-a11 to nmemcs16 low (latched) (2k ram decode)". also, parameters t11 of figure 15 and t9 of figure 16 should apply to both latched and unlatched versions of the nmemcs16 signal. 39 figure 12a - niocs16 generation for revision d, the transparent latch and the bale signal should not appear in figure 12a. the addresses are actually latched by the device for proper addressing, but the niocs16 signal is generated by the addresses which come directly into the device rather than the internally latched version of these addresses. 51,52 figure 17 - read i/o cycle - t6; figure 18 - write i/o cycle - t5 for revision d, t6 of figure 17 and t5 of figure 18 should not reference bale, but should instead read "a2-a15, aen low to niocs16 low " also, parameters should be added for the deactivation of niocs16.
67 page section/figure/entry correction 3 description of pin functions, pin 53 in revision d, the nenrom signal does not affect the timing of iochrdy. 26 configuration register, bit 2 for revision d, the second sentence in the description should read "a logic '1' on this bit negates the iochrdy signal for at least two xtal1 clocks, creating one wait state". 37,40 wait state details section; table 13 - iochrdy and n0ws signal behavior for revision d, the fourth paragraph under wait state details should convey that the iochrdy signal, when used, is always negated for at least two xtal1 clocks. there should be no distinction made between ram, internal register, prom, and external register cycles. all cycles will negate iochrdy for at least two xtal1 clocks if iochrdy is used. the entry in table 13 which correlates to the iochrdy signal when the wait state bit=1 should read "negated for two to three xtal1 clocks". 48 figure 14 - zero wait state and iochrdy timing for revision d, the timing parameter for t5 should be a minimum of 100 nsec, and a maximum of 165 nsec. 3 description of pin functions - pin 74 for revision d, the bale signal is no longer required to latch the unlatched addresses. all addresses are latched by the leading edge of the nmemr and nmemw signals for revision d. bale must be tied high or left disconnected if the device is placed in 8-bit mode. 4 description of pin functions - pins 66, 67 for revision d, the leading edge of these signals automatically latch addresses. if the device is in 8-bit mode, the bale signal should be tied high or left disconnected, and the nmemr and nmemw signals should be responsible for latching the unlatched addresses. 15 figures 4, 5 - memory selector, prom selector for revision d, figures 4 and 5 should contain a second transparent latch, controlled by the control signal. if bale is tied high or left disconnected, the address is latched by only the second latch-stage, which is controlled only by the nmemr and nmemw signals. if bale is connected to the bus, the address is latched by both the first and second stage latches.
68 page section/figure/entry correction 49, 50, 53 figures 15,16,19 - read ram cycle, write ram cycle, read prom cycle for revision d, a new timing parameter should exist : address, sbhe hold after control low...20 nsec minimum. this parameter is only required if the bale signal is tied high or left disconnected.
69 bale a19 a18 a17 a16 a15 a14 a13 a12 a11 transparent latch comparator 5 to 7 decoder ms4 ms3 ms2 ms1 ms0 memory select bale a19 a18 a17 a16 a15 a14 ms4 ms3 ms2 ms1 ms0 transparent latch comparator 5 to 9 decoder nenrom prom decode a13* * in i/o 16k x 8 mode, a13 is a don't care figure 4 - memory selector figure 5 - prom selector transparent latch nmemr,nmemw transparent latch nmemr wait state bit iochrdy nows 0 1 logic "1" activated on access negated for two to three xtal1 clocks logic "1" modified version of pages 16 and 41 for rev. d COM90C66 only. table 13 - iochrdy and nows signal behavior
70 figure 12 ? nmemcs16 generation figure 12a - niocs16 generation nenrom decode mode a11-a19 ms0-ms4 5 la17-la19 3 5 5 9 comparator (for 2k segment) comparator (for 128k segment) mux 16en nmemcs16 sa11-sa19 modified version of page 40 for rev. d COM90C66 only. 12 comparator 2 to 4 decoder niocs16 aen sa4-sa15 ios0-ios2 sa2-sa3 2 11 10 01 00
71 figure 15 - read ram cycle nmemr high to ntoph, ntopl high t1 t2 t3 t4 t5 t6 parameter address, nsbhe set up to bale low * address, nsbhe hold after bale low * address, nsbhe set up to nmemr low nmemr low to valid data nmemr low to ntoph, ntopl low min 20 20 25 0 0 typ max 30 units ns ns ns ns ns ns 15 t7 nmemr high to data high impedance 0 20 ns t8 nmemr high to bale high (next address) 30 ns a19-a17 to nmemcs16 low (unlatched) (128k ram decode) a19-a11 to nmemcs16 low (latched) (2k ram decode) address, nsbhe invalid to nmemcs16 high t9 t10 t11 80 25 40 ns ns ns 0 0 0 a0-a19 valid data valid t2 t1 t3 t4 t5 t8 t9 t10 bale nmemr d0-d7 ntopl ntoph, nmemcs16 (unlatched) nmemcs16 (latched) d0-d15 or nsbhe t6 t7 t11 ** t2 *** for latched addresses, t1 and t2 do not apply. please refer to figure 21 for latched address mode 130ns minimum inactive time on consective memory reads from the COM90C66. for revision d devices, if bale is tied high, then address, nsbhe must be held for 20nsec after nmemr low. * ** *** modified version of page 50 for rev. d COM90C66 only.
72 figure 16 - write ram cycle a0-a19 valid data valid t2 t1 t3 bale nmemw d0-d7 ntopl t4 nmemcs16 nmemcs16 (unlatched) (latched) t8 t9 t7 t5 t6 nsbhe d0-d15 or ** t2 *** 30 t1 t2 t3 t4 t5 t6 parameter address, nsbhe set up to bale low * address, nsbhe hold after bale low * address, nsbhe set up to nmemw low valid data set up to nmemw high min 20 20 25 typ max units ns ns ns ns data hold time from nmemw high 9 ns nmemw high to bale high (next address) 30 ns a17-a19 to nmemcs16 low (unlatched) (128k ram decode) a11-a19 to nmemcs16 (latched) (2k ram decode) 0 0 40 25 ns ns address, nsbhe invalid to nmemcs16 high 0 ns t7 t8 t9 for latched addresses, t1 and t2 do not apply. please refer to figure 21 for latched address mode. 200ns minimum inactive time on consecutive memory writes to the COM90C66. * ** *** for revision d devices, if bale is tied high, then address, nsbhe must be held for 20 nsec after nmemw low. modified version of page 51 for rev. d COM90C66 only.
73 figure 17 - read i/o cycle parameter min typ max units t1 t2 t3 t4 t5 t6 t7 t8 t9 address, nsbhe set up to bale low * address, nsbhe hold after bale low * address, nsbhe, aen set up to nior low nior low to valid data nior low to ntoph, ntopl low a2-a15 valid, aen low to niocs16 low nior high to ntoph, ntopl high nior high to data high impedance nior high to bale high (next address) 20 20 25 0 0 0 0 30 ns ns ns ns ns ns ns ns ns ns ns ns 80 30 25 15 20 for latched addresses, t1 and t2 do not apply. please refer to figure 21 for latched address mode. 130 ns minimum inactive time on consecutive reads from data register of the COM90C66. modified version of page 52 for rev. d COM90C66 only. * ** valid aen a0-a15, bale nior d0-d7 ntopl t1 t2 t3 t4 t5 t7 t8 t9 nsbhe d0-d15 ntoph, niocs16 t6 or valid data ** t10 t10 aen hold after nior high 10 ns
74 figure 18 - write i/o cycle data hold time from iow high 30 t1 t2 t3 t4 t5 parameter address, nsbhe set up to bale low * address, nsbhe hold after bale low * address, nsbhe, aen set up to niow low valid data set up to niow high min 20 20 25 typ max units ns ns ns ns t6 9 ns niow high to bale high (next address) 30 ns a2-a15, aen low to niocs16 low t7 0 25 ns * for latched address, t1 and t2 do not apply. please refer to figure 21 for latched address mode. ** 200 ns minimum inactive time on consecutive writes to the data register of the COM90C66. modified version of page 53 for rev. d COM90C66 only. a0-a15, valid data valid t2 t1 t3 t6 t7 bale niow d0-d7 or ntopl t4 aen nsbhe d0-d15 ntoph niocs16 t5 ** t8 aen hold after niow high 10 t8 ns
75 figure 19 - read prom cycle 0 t1 t2 t3 t4 t8 parameter address set up to bale low * address hold after bale low * address, set up to nmemr low nmemr low to nprom low min 20 20 50 0 typ max units ns ns ns ns ns 30 t7 nmemr high to bale high (next address) 30 ns 25 t6 iochrdy low pulse width 100 ns t5 nmemr low to iochrdy low 0 ns 20 165 all prom accesses are 8-bit only, rom should use nmemr as noe signal and prom as ncs. nmemr low to ntopl low nmemr high to nprom high nmemr high to ntopl high t9 t10 0 0 15 30 ns ns for latched addresses, t1 and t2 do not apply. please refer to figure 21 for latched address mode. * ** *** for revision d devices, if bale is tied high, then address must be held for 20 nsec after nmemr low. modified version of page 54 for rev. d COM90C66 only. valid t2 t1 t3 bale nprom ** iochrdy t4 t5 t9 t8 t6 t7 t10 a0-a19 ntopl nmemr t2 ***
1991? standard microsystems corp. circuit diagrams utilizing smsc products are included as a means of illustrating typical applications; consequently complete information sufficient for construction purposes is not necessarily given. the information has been carefully checked and is believed to be entirely reliable. however, no responsibility is assumed for inaccuracies. furthermore, such information does not convey to the purchaser of the semiconduc tor devices described any licenses under the patent rights of smsc or others. smsc reserves the right to make changes at any time in order to improve design and supply the best product possible. smsc products are not designed, intended, authorized or warranted for use in any life support or other application where product failure could cause or contribute to personal injury or severe property damage. any and all such uses without prior written approval of an officer of smsc and further testing and/or modification will be fully at the risk of the customer. COM90C66 rev. 09/26/91


▲Up To Search▲   

 
Price & Availability of COM90C66

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X